python 多线程socket的简单demo

大致的思路就是

  1. 用server循环accept()
  2. 设置一个函数,用来作为线程的初始函数
  3. accept()之后,单开一个线程,将client传递进去即可
# coding=utf-8
import socket
import threading
import time

from Helper.Message import MessageHelper
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind(("127.0.0.1",12345))
server.listen(10)

def sendData(client):
    print "连接上了一个socket:"
    print client
    for i in range(1,1000):
        client.send(MessageHelper.GetReturenMessage("The SOCKET_LIST length is :") +
                    MessageHelper.GetReturenMessage(str(i)))
        time.sleep(0.01)

while True:
    client,addr = server.accept()
    SOCKET_LIST.append(client)
    myTestThread = threading.Thread(target=sendData, args=(client,))
    myTestThread.setDaemon(True)
    myTestThread.start()

运行结果如下
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_40666620/article/details/105101478