目前,我可以使用服务器作为中间人向客户发送消息。在
但是,我无法在用户输入内容之前将每个客户端接收到的消息打印出来。我遇到过穿线,但我对它缺乏经验。在
服务器代码:
import socket, _thread
serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
host = socket.gethostname()
port = 9999
serversocket.bind((host, port))
serversocket.listen(5)
def send_c2(clientsocket1, clientsocket2):
while True:
msg1 = clientsocket1.recv(1024)
msg1 = msg1.decode('ascii')
clientsocket2.send(msg1.encode('ascii'))
def send_c1(clientsocket1, clientsocket2):
while True:
msg2 = clientsocket2.recv(1024)
msg2 = msg2.decode('ascii')
clientsocket1.send(msg2.encode('ascii'))
while True:
clientsocket1,addr = serversocket.accept()
print("Got a connection from %s" % str(addr))
clientsocket2,addr = serversocket.accept()
print("Got a connection from %s" % str(addr))
try:
_thread.start_new_thread(send_c2, (clientsocket1, clientsocket2))
_thread.start_new_thread(send_c1, (clientsocket1, clientsocket2))
except:
print("Thread failed")
客户代码:
^{pr2}$有办法绕过这个吗?在
目前没有回答
相关问题 更多 >
编程相关推荐