• socketserver 模块的使用


    socketserver模块的使用

    socketserver是一个集成socket,thread,select模块的综合模块,主要用实现用较为简单的方法建立服务端的模块。可以应对较小并发的客户需求。

    socketserver建立TCP服务端。

    服务端

    import socketserver
    
    #处理的方法(服务端工作的方式的类)
    class Myhandler(socketserver.BaseRequestHandler):
        def handle(self):#开始工作自动执行下列函数
            print(self.server)#socketserver对象
            print(self.client_address)#客户端地址
            print(self.request)#客户端连接对象
            while True:
                data = self.request.recv(1024)
                self.request.send(data.upper())
    
    server = socketserver.ThreadingTCPServer(("127.0.0.1",6666),Myhandler)#一以线程的方式建立tcp服务端
    server.serve_forever()#让服务端持续工作

    客户端

    import socket
    client = socket.socket()
    client.connect(("127.0.0.1",6666))
    
    while True:
        msg = input(">>>")
        if not msg:
            continue
        client.send(msg.encode("utf-8"))
        data = client.recv(1024)
        print(data.decode("utf-8"))

    基于UDP的socketserver

    服务端

    import socketserver
    
    addr  = ("127.0.0.1",3239)
    
    
    class Myhandle(socketserver.BaseRequestHandler):
        def handle(self):
            print(self.server)#socketserver对象
            print(self.client_address)
            print(self.request)#数据,和服务端socket对象
            data = self.request[0]
            self.request[1].sendto(data.upper(),self.client_address)
    
    
    server = socketserver.ThreadingUDPServer(addr,Myhandle)
    server.serve_forever()

    客户端

    import socket
    client = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
    
    addr  = ("127.0.0.1",3239)
    while True:
        msg = input(">>>")
        client.sendto(msg.encode("utf-8"),addr)
        data = client.recvfrom(1024)
        print(data[0].decode("utf-8"))
  • 相关阅读:
    前端学习之——h5适配
    Python学习之——【开始】
    前端学习之----隐式类型转换
    前端学习之----数据类型
    vue学习之——生命周期
    认识自己(一)
    判断一句话是否是回文,例如, 上海自来水来自海海上
    判断是否为质数
    Python之函数进阶
    Python之冒泡排序
  • 原文地址:https://www.cnblogs.com/msj513/p/9963655.html
Copyright © 2020-2023  润新知