zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    [BZOJ3513] idiots
    2020牛客暑期多校训练营(第六场)A
    2020牛客暑期多校训练营(第六场)J
    2020牛客暑期多校训练营(第六场)H
    2020牛客暑期多校训练营(第六场)G
    2020牛客暑期多校训练营(第六场)K
    组队训练日志 2020.10.05
    Java基础
    Auditd
    Snort记录
  • 原文地址:https://www.cnblogs.com/yfjly/p/9980587.html
Copyright © 2011-2022 走看看