python多线程服务器

  1. tcp多线程服务器

     from threading import Thread
     from socket import *
     
     def rData(newSocket):
         try:
             while True:
                 newData = newSocket.recv(1024)
                 if len(newData) > 0:
                     print("%s"%newData)
                 else:
                     print("关闭套接字....")
                     break
         finally:
                 newSocket.close()
     
     
     def main():
         tSocket = socket(AF_INET,SOCK_STREAM)
     
         #重复使用绑定信息
         tSocket.setsockopt(SOL_SOCKET,SO_REUSEADDR,1)
     
         bindAddr = ("",7288)
         tSocket.bind(bindAddr)
     
         tSocket.listen(5)
     
         try:
             while True:
                 newSocket,ipData = tSocket.accept()
                 t = Thread(target=rData,args=(newSocket,))
                 t.start()
     
                 #因为线程中共享这个套接字,如果关闭了会导致这个套接字不可用
                 #但是此时在线程中这个套接字可能还在收数据,因此不能关闭
                 #newSocket.close()
     
         finally:
             tSocket.close()
     
     if __name__ == "__main__":
         main()
    

猜你喜欢

转载自blog.csdn.net/zsx1314lovezyf/article/details/89930031
今日推荐