socketserver

我原来自己写的代码有很多问题,现在贴上老师的源码。

因为原生tcp不能连接多个用户。所以使用socketserver。

固定代码:

import socketserver

class MyServer(socketserver.BaseRequestHandler):      #   1 定义一个类    2 类里面继承socketserver.BaseRequestHandler
  def handle(self):       #   3 类里面定义一个handle方法,handle名称不能变
    while 1:
      from_client_data = self.request.recv(1024).decode('utf-8')      # 这里的这个self.request就相当于conn链接通道
      print(from_client_data)      #  打印接收到的消息,这里可以加判断,如果接收到的是一个固定的词,就可以break结束通话。
      server_input = input('明巍sb说>>>')    #  这里的sb我喜欢,这个老师挺幽默,接地气。
      self.request.send(server_input.encode('utf-8'))     # 给客户端发送消息,这里也可以加判断,如果发送的是一个固定的词,也可以break结束通话。
      self.request.close()    
if __name__ == '__main__':
  ip_port = ('127.0.0.1',8001)      #服务端的IP地址和端口
  socketserver.TCPServer.allow_reuse_address = True   #定义地址和端口重用。
  server = socketserver.ThreadingTCPServer(ip_port,MyServer)      #绑定IP地址和端口,并且启动我定义的上面这个类
  server.serve_forever()       #永久的给我执行下去

原文地址:https://www.cnblogs.com/wjywinner/p/10514983.html