1. 程式人生 > >簡易socket 多線程客戶端 服務器

簡易socket 多線程客戶端 服務器

bre handle lose cli connect oca mat exce send

簡易客戶端:
import socket
client = socket.socket()
client.connect((‘localhost’,9999))
while True:
msg = input(‘>>:’).strip()
if len(msg) == 0:continue
client.send(msg.encode(‘utf-8’))
data = client.recv(1024)
print(data)
client.close()

多線程服務器:
import socketserver
class MyTCPHandler(socketserver.BaseRequestHandler):
def handle(self):
while True:
try:
self.data=self.request.recv(1024).strip()
print(‘{} worte:’.format(self.client_address[0]))
print(self.data)
self.request.send(self.data.upper())
except ConnectionResetError as e:
print(‘err’,e)
break

if name ==’main‘:
HOST,PORT = ‘localhost’,9999
server = socketserver.ThreadingTCPServer((HOST,PORT),MyTCPHandler)
server.serve_forever()

簡易socket 多線程客戶端 服務器