三、实现TCP服务器并发
实现TCP服务器并发
服务器
import socket
from multiprocessing import Process
from threading import Thread
# 1.创建一个TCP socket链接
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 2.绑定本地IP和端口,方便客户端访问
s.bind(('127.0.0.1', 8000))
# 3.设置客户端访问的缓冲区
s.listen(128)
# 通信循环
def talk(a):
while True:
try:
client_data = a.recv(1024).decode('utf8')
if len(client_data) == 0:
break
print(client_data)
a.send(client_data.upper().encode('utf8'))
except ConnectionError as e:
print(e)
break
a.close()
while True:
a, b = s.accept()
print(a, b)
t = Thread(target=talk, args=(a,))
t.start()
客户端
import socket
#1.创建一个TCP socket链接
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
#2.指定对端IP地址和端口号
s.connect(('127.0.0.1',8000))
while True:
s.send('hello'.encode('utf8'))
server_data = s.recv(1024).decode('utf8')
print(server_data)

浙公网安备 33010602011771号