我正在尝试在python中创建一个客户端。我正在尝试使用多处理来接收和发送对象。
我用它来发送消息(输入什么不应该显示其他客户端发送的消息):
if __name__ == "__main__":
while True:
wait = 'yes'
message = raw_input('Enter message into chat (enter nothing to refresh chat): ')
if message == '':
wait = 'no'
continue
sock.sendall(message)
我用它来接收消息:
def listen():
global wait
while True:
data = sock.recv(255)
while True:
if wait == 'yes':
continue
print data
break
我使用它来使listen()工作:
q = multiprocessing.Process(target=listen)
q.start()
我错过了什么,或者我做错了什么。请帮忙!
答案 0 :(得分:0)
至少,您需要连接的两端才能进行通信。看起来你有一个插槽并且它不清楚它是否连接到任何东西(你省略了套接字设置代码,很难说)。
尝试使用socketpair()获取两个连接的套接字:
import socket
client, server = socket.socketpair()
然后在主要流程中使用client
,在" listen"中使用server
过程(反之亦然,它并不重要)。两个插座已连接,使用一个插座发送其他接收数据。