私はクラウドコンピューティング環境のためのテストベッドを開発しています。私は、サーバーへの複数のクライアント接続を確立したい。私が望むのは、サーバーはまずすべてのクライアントにsending_intervalを指定してデータを送信し、その後、すべてのクライアントはそのtime_intervalの時間間隔(サーバーによって指定された時間)でデータを送信し続けます。私を助けてください、私はどのようにPythonのソケットプログラムを使用して同じことを行うことができます。 (つまり、複数のクライアントから単一のサーバーへの接続を望み、クライアントがサーバーによって指定された時間間隔でデータを送信したい)。もし誰かが私を助けることができれば偉大なものになるでしょう。前もって感謝します。Pythonソケットプログラミング
答えて
この問題は、ZeroMQソケットライブラリによって簡単に解決されたです。生産安定です。パブリッシャーとサブスクライバーの関係を定義することができます。パブリッシング・プロセスは、リスニング・プロセスが何個あるか(0から無限)のリスニング・プロセスに関係なく、ポートにデータをパブリッシュします。彼らはこれをPUB-SUBモデルと呼びます。彼らのドキュメントにあります(下のリンク)。
すべてのサイト運営者のクライアントを設定したいと思うようです。彼らは制御チャネルに加入することができ、制御チャネルはその構成に更新を送信する(書き込む頻度)。彼らはまた、デフォルト/ config channel/socketで指定された間隔で自分のデータをプッシュアウトするパブリッシャーとしても機能します。
次に、クライアントの公開メッセージをすべて聴取する1つまたは複数のリスニングプロセスがあります。たぶん2つのリスニング・プロセスを持つこともできます.1つはバックアップやDRなどです。
私たちはZeroMQを使用しており、シンプルさを愛しています。それはです。パブリッシャーはリッスンしているかどうか気にせず、サブスクライバーはパブリッシャーの前で開始することができ、リッスンするものがなければ、ループしてそこまで待つことができるので、接続エラーはありません。
バインディングはすべての言語で使用できます(それは気難しいです)。 Pythonバインディングは純粋なPythonではなく、Cコンパイラが必要ですが、恐ろしく速く、pub/subの例はカット/ペーストです( 'golly、it works!')。経験。
メッセージキューを含むこのライブラリで利用可能な多くの他の方法は、彼らはあまりにも、比較的完全なドキュメントを持っているなど、があります。
- 1. Pythonソケットプログラミングrecv
- 2. ソケットプログラミングの問題 - Python
- 3. ソケットプログラミングPythonの同期
- 4. 非ブロック型ソケットプログラミング(Pythonで)
- 5. Pythonソケットプログラミング - 例外処理
- 6. ソケットプログラミング
- 7. ソケットプログラミング
- 8. ソケットプログラミング
- 9. ソケットプログラミング
- 10. .recv関数ソケットプログラミングTCPサーバーin Python
- 11. Python 3ソケットプログラミング:sendallとsendtoの使用
- 12. C:UDPソケットプログラミング
- 13. ソケットプログラミングJava
- 14. Javaソケットプログラミング
- 15. javaソケットプログラミング
- 16. Javaソケットプログラミング
- 17. PHPソケットプログラミング
- 18. ソケットプログラミングgfortran
- 19. ソケットプログラミングandroid
- 20. cソケットプログラミング
- 21. Androidソケットプログラミング
- 22. javaソケットプログラミング
- 23. C++ソケットプログラミングWindows
- 24. イベントベースのソケットプログラミングC
- 25. ソケットプログラミング:遅延
- 26. ソケットプログラミングaccept()in C
- 27. Javaのソケットプログラミング:メッセージ
- 28. ソケットプログラミング。 c#.net
- 29. C++ソケットプログラミングのバイトオーダー
- 30. ソケットプログラミングin java
geventやtwistedなどの既存のフレームワークを使用してこのタスクを支援することをお勧めします。私はあなたがする必要があることを完全にはわかりません。 – Pwnna
私は、サーバーがすべてのクライアントに情報(つまりサンプリング時間)を送信することを望みます。その後、すべてのクライアントは、サーバーのデータ(つまりサンプリング時間)で指定された時間間隔内に、サーバーにデータを継続して送信し続けます。 –
...だから何が問題なの? – Pwnna