• 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()
  • 相关阅读:
    FS配置文件
    FS 目录结构
    FreeSWITCH 架构
    FreeSWITCH API 与APP
    呼入电话处理
    FS 分机呼出
    PartyUs 待添加内容(不定期更新)
    PHP-Codeigniter:实习笔记5
    PHP-Codeigniter:实习笔记4
    PHP-Codeigniter:实习笔记3
  • 原文地址:https://www.cnblogs.com/asdaa/p/11324305.html
Copyright © 2020-2023  润新知