SocketServer是标准库中的一个高级模块,用于简化实现客户端/服务器编程的大量模板代码。
服务器
from socketserver import (TCPServer as TCP,StreamRequestHandler as SRH)
from time import ctime
HOST = ''
PORT = 10001
ADDRESS = (HOST,PORT)
class MYRequestHandler(SRH):
def handle(self):
print('连接来自',self.client_address)
data = self.rfile.readline().strip().decode()
print(data)
self.wfile.write(('[%s] %s'%(ctime(),data)).encode())
tcpServer = TCP(ADDRESS,MYRequestHandler)
print('等待链接……')
tcpServer.serve_forever()
客户端
from socket import *
HOST = ''
PORT = 10001
BUFFRT = 1024
ADDRESS = (HOST,PORT)
while True:
tcpClientSocket = socket(AF_INET,SOCK_STREAM)
tcpClientSocket.connect(ADDRESS)
data = input('')
if not data:
break
tcpClientSocket.send(('%s\r\n' % data).encode())
data = tcpClientSocket.recv(BUFFRT)
if not data:
break
print(data.strip.decode())
tcpClientSocket.close()
样本代码示例如上图代码段说明。