如何插座多个客户端

时间:2016-11-17 15:26:27

标签: python sockets server client

这是为进程列表制作GUI的代码的一部分。我正在尝试做一个Socket Multiple Clients,但它不起作用。有人可以帮我这个吗?

import socket, pickle 
import threading 
import select


BUF_SIZE = 8192


class Network(threading.Thread):
    def __init__(self, frame):
        threading.Thread.__init__(self)
        self.frame = frame
        self.server_sock = socket.socket()

    def run(self, client_sock=None):
        self.server_sock.bind(('', 1729))
        self.server_sock.listen(5)
        self.open_client_sockets = []
        while True:
            self.rlist, self.wlist, self.xlist = select.select([self.server_sock] + self.open_client_sockets, [], [])
            if self.currect_sock is self.server_sock:
                client_sock, client_address = self.server_sock.accept()
                self.open_client_sockets.append(self.new_sock)
                data = client_sock.recv(BUF_SIZE)
                processes_list = pickle.loads(data)
                for process_details in processes_list:
                    self.frame.add_line(process_details)
            else:
                data = self.client_sock.recv(BUF_SIZE)
                processes_list = pickle.loads(data)
                for process_details in processes_list:
                    self.frame.add_line(process_details)

        client_sock.close()
        self.server_sock.close()
        self.server_sock.close()

0 个答案:

没有答案