import socketserver 模块 (27-03)

 

    使用socketserver实现并发聊天

服务端可以比喻做一部电话。

("127.0.0.1", 8000)   比喻做服务端的一个号码。

 

 

1,server.py

import socketserver

class MyServer(socketserver.BaseRequestHandler):
  def handle(self):    # 逻辑代码
    print("服务器启动...")
    while True:
      conn = self.request  # self.request相当于电话里面的一个号码
      print("有客户端连接ip与端口号:", self.client_address)  
      while True:
        client_data = conn.recv(1024)  # 收
        print(str(client_data, 'utf8'))

        inp = input('>>:')
        conn.sendall(bytes(inp, 'utf8'))  # 发
      conn.close()

if __name__ == "__main__':
  server = socketserver.ThreadingTCPServer(('127.0.0.1', 8000), MyServer)  # 执行连接
  server.serve_forever()              # 执行def handle(self)逻辑代码

2, client.py

import socket
sk = socket.socket()

address = ("127.0.0.1", 8000)  # 连接服务端的ip地址与端口号
sk.connect(address)

while True:
  inp = input(">>:")    # 发
  sk.sendall(bytes(inp, 'utf8'))

  data = sk.recv(1024)  # 收
  print(str(data, 'utf8))

 

posted @ 2018-09-06 14:25  Kay_xs  阅读(192)  评论(0编辑  收藏  举报