zoukankan      html  css  js  c++  java
  • socketserver模块

    socketserver模块

    socketserver模块能让TCP实现并行

    客户端

    import socket
    
    client = socket.socket()
    client.connect(('127.0.0.1', 8080))
    
    while True:
        client.send(b'hello world')
        data = client.recv(1024)
        print(data.decode('utf-8'))

    服务端

    import socketserver
    
    
    class MyServer(socketserver.BaseRequestHandler):
        def handle(self):
            print('xxx')
            while True:
                try:
                    data = self.request.recv(1024)
                    print(self.client_address)  # 客户端地址
                    print(data.decode('utf-8'))
                    self.request.send(b'%s,xxx' % data)
                except Exception:
                    break
    
    
    if __name__ == '__main__':
        """只要有客户端连接  会自动交给自定义类中的handle方法去处理"""
        server = socketserver.ThreadingTCPServer(('127.0.0.1', 8080), MyServer)  # 创建一个基于TCP的对象
        server.serve_forever()  # 永久启动服务器

    socketserver模块同样支持udp

    客户端

    import socket
    
    client = socket.socket(type=socket.SOCK_DGRAM)
    sever_addre = ('127.0.0.1', 8080)
    while True:
        client.sendto(b'hello', sever_addre)
        data, addre = client.recvfrom(1024)
        print(data.decode('utf-8'))

    服务端

    import socketserver
    
    
    class MyServer(socketserver.BaseRequestHandler):
        def handle(self):
            while True:
                data, sock = self.request
                print(self.client_address)
                print(data.decode('utf-8'))
                sock.sendto(data.upper(), self.client_address)
    
    
    if __name__ == '__main__':
        server = socketserver.ThreadingUDPServer(('127.0.0.1', 8080), MyServer)
        server.serve_forever()
  • 相关阅读:
    [Java]用递归判断是否为递减数组
    android欢迎界面的编程实现[手相评分软件实例]
    工作两周年的感想
    最新基于adtbundlewindowsx86的android开发环境搭建
    新浪微博Failed to receive access token
    朋友
    房产中介
    房产中介
    与 Josh Bloch 探讨 Java 未来
    关于英语学习的一点思考
  • 原文地址:https://www.cnblogs.com/asdaa/p/11324305.html
Copyright © 2011-2022 走看看