申し訳ありませんが、私は単純なチャットプログラムを作るためにPythonでソケットプログラミングを手伝っていました。私はクライアントにサーバーにテキストを送信させてから、クライアントからメッセージを繰り返します。しかし、私は、メッセージをサーバーに送信し、クライアントではなくサーバーに接続して、すべてのクライアントに接続し直してください。私はこれを行う問題があります。これは、これまでの私のコードです:ソケットプログラミングの問題 - Python
サーバーサイドコード:
import SocketServer
def handle(self):
data = self.request[0].strip()
socket = self.request[1]
print "%s wrote:" % self.client_address[0]
print data
socket.sendto(data.upper(), self.client_address)
if __name__ == "__main__":
HOST, PORT = "localhost", 25555
server = SocketServer.UDPServer((HOST, PORT), MyUDPHandler)
server.serve_forever()
クライアント側コード:今、あなたのアプリが各クライアント接続用MyUDPHandlerクラスをインスタンス化され
import socket
import sys
global HOST
global PORT
HOST, PORT = "localhost", 25555
while 1 > 0:
data = raw_input(">".join(sys.argv[1:]))
# SOCK_DGRAM is the socket type to use for UDP sockets
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# As you can see, there is no connect() call; UDP has no connections.
# Instead, data is directly sent to the recipient via sendto().
sock.sendto(data + "\n", (HOST, PORT))
received = sock.recv(1024)
print "Sent: %s" % data
print "Received: %s" % received
これについてのチュートリアルはありますか?そうでない場合は、例を挙げてください。 –
各回線に新しいUDP接続を開くつもりはありますか?今は毎回新しいソケットを再交渉するようです。 – whitey04
問題が解決しますか?もしそうなら、はいよりも。 –