前が続く、我々はプログラムを改善し続けます
今まで、私たちはクライアントを停止して、サーバーが一緒に終了します。しかし、我々は複数のクライアントへのアクセスを受け入れることができるようにする必要がありますので、それは本当に唯一のクライアントとして機能することができ、サービスを終了していない、それについて考える(一時的に、我々は、並行プログラミングを勉強して私たちの最初の契約をさせないことができA)
server.py
import socket
phone = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
phone.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
phone.bind(('127.0.0.1',8080))
phone.listen(5) # 挂起的客户端最多有5个
print('starting...')
while True: # 循环连接建立以及处理的部分
conn, client_addr = phone.accept()
#5 收,发消息(传数据)
while True:
try:
data = conn.recv(1024)
if not data : break
print('客户端的数据',data)
conn.send(data.upper())
except ConnectionResetError:
break
conn.close()
phone.close()
client.py
import socket
phone = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
phone.connect(('127.0.0.1',8080))
#3 发,收消息
while True:
msg = input('>>> : ').strip()
if not msg : continue
phone.send(msg.encode('utf-8'))
data = phone.recv(1024)
print(data)
phone.close()