摘要:
服务器端代码:from socket import *from time import ctimeHOST = ''PORT = 1234ADDR = (HOST, PORT)BUFSIZE = 1024def main(): udpSer = socket(AF_INET, SOCK_DGRAM) udpSer.bind(ADDR) while True: print('waiting for message...') data, adr = udpSer.recvfrom(BUFSIZE) #通过函数recvfrom返回元祖(消息,地址) ... 阅读全文
摘要:
注意:通过self.request.recv()和self.request.send()两个函数来接受和发送消息;服务器端代码:from socketserver import (TCPServer, BaseRequestHandler)from time import ctimeHOST = ''PORT = 12345ADDR = (HOST, PORT)BUFSIZE = 1024class MyHandler(BaseRequestHandler): def handle(self): print('connected from:', self.cli 阅读全文
摘要:
注意的几点:1.StreamRequestHandler类支持像操作文件对象那样操作输入套字节;2.网络传输的数据需时bytes;3.客户端和服务器端发送的消息都必须加上回车和换行符号4.socketserver的请求处理器的默认行为是接受连接,得倒请求,然后关闭连接,而不是一直保持连接状态。从而多个连接可以并发进行。服务器端代码:from socketserver import (TCPServer, StreamRequestHandler)from time import ctimeHOST = ''PORT = 12345 ADDR = (HOST, PORT)clas 阅读全文