好吧,我花了大約三個小時來擺弄Python編程中的套接字編程,試圖製作一個簡單的聊天程序。我已經讓客戶端向服務器發送文本,然後從客戶端開始,它將信息重複給自己。但是,我希望將消息發送到服務器,然後服務器(而不是客戶端)將它重新發送到所有客戶端的連接。我遇到問題。這是到目前爲止我的代碼:Socket編程問題 - 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()
客戶端代碼:
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
有沒有關於這樣做的教程?如果沒有,請你舉個例子嗎? – 2011-02-05 01:55:30