【问题标题】:socket.py not creating listener on serversocket.py 不在服务器上创建监听器
【发布时间】:2016-05-23 13:31:08
【问题描述】:

我设置变量host和port,而不是在socket.py中设置'address'变量元组。我无法将“地址”作为一个元组来工作。我不认为这是问题所在,但我认为我应该提前说明这一点。

仅供参考,我的目标是一个集成项目,我相信我将 socket.py 隔离为有问题的代码。 socket.py 没有在远程服务器上创建监听器。我在客户端运行python脚本,我的服务器地址是192.168.1.130 7879端口。

认为 socket.py 是问题所在,因为我没有通过socket.py 试图创建套接字的控制台收到预期的打印语句。另外,我可以 RDC 到服务器,禁用 ufw(是的,我知道这是一个坏主意),创建一个 tcp 监听器,通过客户端套接字将数据推送到服务器套接字,并使用 netcat 验证这一点。

我错了,我应该能够仅使用主机和端口来参数化 socket.py 并能够创建套接字连接吗?我很高兴从日志中提供更多详细信息,但我认为我应该从一个非常高级的概述开始。

【问题讨论】:

  • 可以发socket.py的实际代码吗?
  • 当然。 socket.py 代码是标准 github pull 的一部分,我唯一的 mod 是设置主机和端口变量。代码太长,无法发布。你可以在这里看到它。 svn.python.org/projects/python/tags/r27a4/Lib/socket.py
  • 我正在将链接添加到调用 sockey.py 的代码中。 github.com/mtconnect/ros_bridge/blob/master/mtconnect/…
  • 啊,socket.py 你的意思是标准库中的python 套接字模块,而不是你自己写的东西。行。您应该发布一个 MCVE (stackoverflow.com/help/mcve),说明您尝试使用套接字模块实现的目标。虽然 Python 标准库有 bug 不是毫无疑问的,但我还是先看看你自己的代码。
  • 感谢 margold,我将发布到 MCVE。在空闲时间我已经为此工作了几个月,终于到了我认为应该问 LOL 的地步。感谢您的回复。

标签: sockets tcp configuration ufw


【解决方案1】:

答案:需要更多调查。我认为 socket.py 不会使用 socket(),bind(),listen() 语句创建远程连接;相反,只需使用 connect() 语句在远程服务器上查找侦听器。这完全是我的误解,因为我没有深入研究 socket.py 代码的细节。我发现这是因为远程服务器上运行的服务创建了侦听器,但远程服务器上的服务本身没有正确启动。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-10
    • 1970-01-01
    • 1970-01-01
    • 2019-06-08
    • 2015-07-24
    • 2015-05-23
    相关资源
    最近更新 更多