jsontong 2021-03-10 09:47 采纳率: 100%
浏览 253
已采纳

我想用python监听服务器下一个端口接收到的数据,在服务器上运行失败

这是我的代码

import socket,time
host = ''
port = 50015
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind((host, port))
server.listen(1)  # 接收的连接数
client, address = server.accept() 
while True:  # 循环收发数据包,长连接
        data = client.recv(1024)
        print(data.decode('utf-8'))
        if data==None:
            break
        time.sleep(0.5)

服务器运行报错信息为:

Traceback (most recent call last):
  File "server.py", line 15, in <module>
    data = client.recv(1028)
ConnectionResetError: [Errno 104] Connection reset by peer

  • 写回答

2条回答 默认 最新

  • 北风之神Boreas 2021-03-10 10:13
    关注

    正常情况【linux centos8测试,win系统复杂,不测试】【你应该把运行过程,启动,连接,测试的流程截图上来】

    你的程序【运行正常】

    1 只能接收一个客户端连接

    2 对端【客户端】关闭后,会导致死循环recv  

    3 对端【客户端】产生中断信号【如ctrl+c 会在bash 进程下产生,并传输到当前的py进程】py进程会出错。

    其它情况没有了,建议你的测试详细过程 截图。

    [下面是测试你的程序启动,连接,测试,平台都给出来了,没有问题]

    【有兴趣可以阅读https://blog.csdn.net/m0_54740405/article/details/112858405?spm=1001.2014.3001.5502

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥200 比特币ord程序wallet_constructor.rs文件支持一次性铸造1000个代币,并将它们分配到40个UTXO上(每个UTXO上分配25个代币),并设置找零地址
  • ¥15 关于Java的学习问题
  • ¥15 如何使用chatgpt完成文本分类任务?
  • ¥15 已知速度v关于位置s的等式,怎么转化为已知位置求速度v的等式
  • ¥15 我有个餐饮系统,用wampserver把环境配置好了,但是后端的网页却进去,是为什么,能不能帮远程一下?
  • ¥15 R运行没有名称为"species"的插槽对于此对象类"SDMmodelCV"
  • ¥20 基于决策树的数字信号处理,2ask 2psk 2fsk的代码,检查下报错的原因
  • ¥15 wincc已组态的变量过多
  • ¥60 如图:直线与椭圆X轴平行,求直线与椭圆任意一点的相切坐标计算公式
  • ¥50 如何用python使用opencv里的cv::cudacodec::VideoWriter函数对视频进行GPU硬编码