socketserver模块

来源:互联网 发布:易语言编程有哪些书 编辑:程序博客网 时间:2024/05/16 06:48

TCP协议:

TCP 协议(服务端):
import socketserverclass MyTCPHandler(socketserver.BaseRequestHandler):    def handle(self):        # print('======?>',self.request) #self.request is conn        while True:            data=self.request.recv(1024)            self.request.send(data.upper())if __name__ == '__main__':    # socketserver.ForkingTCPServer    server=socketserver.ThreadingTCPServer(('127.0.0.1',8090),MyTCPHandler)    server.serve_forever()
TCP 协议(客户端):
from socket import *client = socket(AF_INET, SOCK_STREAM)client.connect(('127.0.0.1',8090))while True:    msg=input('>>: ').strip()    if not msg:continue    client.send(msg.encode('utf-8'))    data=client.recv(1024)    print(data.decode('utf-8'))

================================================================

UDP协议:

UDP 协议(服务端)
import socketserverclass MyTCPHandler(socketserver.BaseRequestHandler):    def handle(self):        # print('======?>',self.request) #self.request is server        client_data=self.request[0]        print(client_data)        self.request[1].sendto(client_data.upper(),self.client_address)if __name__ == '__main__':    server=socketserver.ThreadingUDPServer(('127.0.0.1',8800),MyTCPHandler)    server.serve_forever()
UDP 协议(客户端):
from socket import *client = socket(AF_INET, SOCK_DGRAM)while True:    # msg=input('>>: ').strip()    # if not msg:continue    # client.sendto(msg.encode('utf-8'),(('127.0.0.1',8800)))    client.sendto('hello'.encode('utf-8'),(('127.0.0.1',8800)))    data,server_addr=client.recvfrom(1024)

  • 爱的故事(下集) — 孙耀威