0

我正在运行 Graphite 服务器来监控远程位置的仪器。我有一个从我的服务器(喜欢 autossh)到机器的“永久”ssh 隧道,以将它们的本地端口映射到我的服务器的本地端口。这很好用,数据可以毫不费力地通过。然而,我们使用不稳定的卫星连接到这些站点,这种连接经常出现故障。我在运行 python 并使用套接字将数据包发送到 Graphite 服务器的仪器上运行“数据爬虫”。问题是,如果链接暂时断开(或服务器重新启动,主要用于测试),我无法重新建立与服务器的连接。我捕获错误,然后运行socket.close(),然后重新打开,但我无法重新建立连接。如果我退出 python 程序并重新启动它,连接就会很好。

4

1 回答 1

0

如果没有代码示例,很难正确回答这个问题。但是,听起来您可能正在尝试重用已关闭的socket,这是不可能的。

如果套接字已关闭(或遇到错误),您必须使用新的套接字对象重新创建新连接。为此,远程服务器必须能够在其 accept() 循环中处理多个客户端连接。

于 2012-06-26T19:54:10.233 回答