求助Python socket服务端提示 "你的主机中的软件中止了一个已建立的连接”

arenascat 2018-10-15 03:21:07
环境:Python3.5.2
服务端:
import socketserver
class MyServer(socketserver.BaseRequestHandler):
def handle(self):
conn = self.request
conn.sendall(('Server Connect,welcome').encode())
Flag = True
while Flag:
data = conn.recv(1024).decode()
print("receive:",data)
if data == 'exit':
Flag = False
elif data == '0':
conn.sendall(('您输入的是0').encode())
else:
conn.sendall(('请重新输入.').encode())
if __name__ == '__main__':
print("Server start,wait for connect")
server = socketserver.ThreadingTCPServer(('127.0.0.1',18009),MyServer)
server.serve_forever()


客户端:
import socket
ip_port = ('127.0.0.1',18009) #设置ip address
sk = socket.socket() #实例化socket
sk.connect(ip_port) #连接到指定的位置
sk.settimeout(1) #设置超时时间为5秒
BUFSIZ = 1024
while True:
data = sk.recv(1024)
print("receive:",data.decode())
inp = input('please input:')
sk.sendall(inp.encode())
data = sk.recv(BUFSIZ).decode()
if inp == 'exit':
break
sk.close()



整个逻辑是:
启用服务端,启动客户端,客户端连接后,服务端发送一段话,客户端此时可以发送一句话,服务端接收并打印,依据内容发送给客户端一段话

目前遇到的问题:
客户端发送编码后的字符串给服务端
|
|
|
服务端提示:你的主机中的软件中止了一个已建立的连接
|
|
|
客户端超时,程序退出。
...全文
1203 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

5,655

社区成员

发帖
与我相关
我的任务
社区描述
Web开发应用服务器相关讨论专区
社区管理员
  • 应用服务器社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧