SocketServer 简化编写网络服务器的步骤

创建一个socketserver 

1.创建一个请求的类,必须是BaseRequestsHandler 的子类。并且要重写父类里面的handle()方法

2.必须实列化一个server class ,并且传递server ip和你创建的请求处理类给这个server class

3.server.server_forever() 处理多个请求·,永远执行

import socketserver

class MyTcpHandler(socketserver.BaseRequestHandler):
    """创建 继承 重写"""

    def handle(self):  # 与客户端交互
        while True:
            try:
                self.data = self.request.recv(1024).strip()
                print("{} wrote:".format(self.client_address[0]))
                print(self.data)
                # if not self.data: # 客户端断开
                #     print(self.client_address,"断开了")
                #     break

                self.request.sendall(self.data.upper())
            except ConnectionResetError as e:
                print("error:",e)
                break

if __name__ == "__main__":
    HOST,PORT = "localhost",3339
    server = socketserver.TCPServer((HOST,PORT),MyTcpHandler)
    server.serve_forever()
Socket_server
import socket
import hashlib

client = socket.socket()
client.connect(('localhost',3339))

while True:
    cmd = input(">>:").strip()
    if len(cmd) == 0: continue
    client.send(cmd.encode('utf-8'))
    data = client.recv(1024)
    print(data.decode())

client.close()
Socker_client

猜你喜欢

转载自www.cnblogs.com/yfjly/p/9980587.html
今日推荐