客户端与服务端代码bug修复和加入循环

服务端代码:

import socket
phone = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
phone.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) #可以重复适用系统端口
phone.bind(('192.168.43.14', 8081))
phone.listen(5)
conn, clent_add = phone.accept()
while True:
try:
data = conn.recv(1024)
if not data:break #如果客户端挂掉,此方法适用于linux操作系统
print(data.decode('utf-8'))
conn.send(data.upper())
except ConnectionResetError: #如果客户端挂掉,此方法适用于windows操作系统
break
conn.close()
phone.close()






客户端代码:

import socket
phone = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
phone.connect(('192.168.43.14', 8081))
while True:
msg = input('>>>').strip()
if not msg: continue #一旦输入为空,虽然应用层可以收到,但是到应用层的操作系统就没有了,故无法发给服务端
phone.send(msg.encode('utf-8'))
data = phone.recv(1024)
print(data.decode('utf-8'))
phone.close()


原文地址:https://www.cnblogs.com/yuexijun/p/11406088.html