1

Pythonで複数のクライアントを処理できるサーバーを作成することが期待されており、これまでのところ(クライアントからの)1つの接続を処理できますが、プログラムを拡張して複数のクライアントを処理する方法がわかりません。ツイストを見てみましたが、よくわかりませんでした。

複数のクライアントを処理する方法を理解するのに役立つ推奨事項、またはサンプルコードはありますか?理想的には、複数のクライアントをサーバーに接続できるようにし、接続後に渡される入力に基づいて、入力を解析するなどして、あらゆる種類の魅力的なことを実行できるようにする必要があります。

ご返信を心よりお待ちしております。よろしくお願いいたします。私は長い間潜んでいます。

PS私はすでにPythonの他のほとんどのマルチスレッドの例を見ましたが、それらは正直なところ役に立ちませんでした。

ありがとう。

4

2 に答える 2

0

PythonモジュールSocketServerを見ることができます。

Googleを使用してネットワークプログラミング(特にPythonネットワークプログラミングではない)とクライアントサーバープログラミングを検索すると、物事を説明する有用なリソースがたくさん見つかります。Beejのネットワークプログラミングガイドをお勧めします

また、基本を理解するまでは、非同期ネットワークプログラミングを避けることをお勧めします。

于 2012-10-29T22:35:00.400 に答える
0

SocketServerをThreadingMixInとともに使用して、各クライアント接続が個別のスレッドで処理されるようにします。

これがあなたの出発点です。

import SocketServer

PORT = 5000

class Server(SocketServer.ThreadingMixIn, SocketServer.TCPServer):
    daemon_threads = True

class Handler(SocketServer.BaseRequestHandler):
    def handle(self):
        # TODO: handle this client
        # this sample acts as an echo server
        while True:
            data = self.request.recv(1024)
            if not data:
                break
            self.request.sendall(data)

if __name__ == '__main__':
    server = Server(('', PORT), Handler)
    server.serve_forever()
于 2012-10-29T23:35:56.877 に答える