Python 2.7:多处理没有做任何事情

时间:2016-12-08 00:32:50

标签: python python-2.7 networking multiprocessing python-multiprocessing

我正在尝试在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()

我错过了什么,或者我做错了什么。请帮忙!

1 个答案:

答案 0 :(得分:0)

至少,您需要连接的两端才能进行通信。看起来你有一个插槽并且它不清楚它是否连接到任何东西(你省略了套接字设置代码,很难说)。

尝试使用socketpair()获取两个连接的套接字:

import socket
client, server = socket.socketpair()

然后在主要流程中使用client,在" listen"中使用server过程(反之亦然,它并不重要)。两个插座已连接,使用一个插座发送其他接收数据。