TCP协议:
TCP 协议(服务端):
import socketserver
class 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 socketserver
class 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)
爱的故事(下集) — 孙耀威