您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python socket.error:[Errno 111]连接被拒绝

Python socket.error:[Errno 111]连接被拒绝

问题显然是(如您所知),当您尝试连接时,服务器端未打开端口36250(因此连接被拒绝)。我可以看到服务器应该在收到SEND一个连接上的命令后打开此套接字,但显然是“未与客户端同步打开它”。

好吧,主要原因是没有任何同步。致电:

cs.send("SEND " + FILE)
cs.close()

只是将数据放入OS缓冲区;close可能会刷新数据并推送到网络中,但几乎可以肯定会在数据到达服务器之前返回。sleep之后添加close可能会缓解此问题,但这不是sync

正确的解决方案是 确保 服务器已打开连接。这将要求服务器向您发送一些消息(例如OK,或者更好PORT 36250地指示连接位置)。这样可以确保服务器已经在侦听。

另一件事是,以确保从缓冲区中获取了多少字节。或使用sendall

(很抱歉打扰这个较晚的答案,但是我发现这是一个访问量很高的问题,我真的不喜欢注释部分中的睡眠想法。)

python 2022/1/1 18:36:07 有242人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶