【问题标题】:Connectex: Error connecting to a physical deviceConnectex:连接到物理设备时出错
【发布时间】:2018-08-29 06:47:15
【问题描述】:

我正在尝试使用 TCP/IP 连接与设备(使用以太网连接)进行通信。发送连接请求时,出现错误:

dial tcp 192.168.137.10:502: connectex: A connection attempt failed because
the connected party did not properly respond after a period of time,
or established connection failed because connected host has failed to respond

但如果我连接到模拟器(它将充当设备),它会连接并发送给我响应。

我正在使用GO 进行编码。这是我连接到设备的代码

conn, err := net.Dial("tcp", "192.168.137.10:502")
if err != nil {
  return nil, err
} else {
  return conn, nil
}

硬件信息:

  • Windows 10、64 位机器
  • 通过 TCP/IP 连接的 PLC 设备

【问题讨论】:

  • 很可能 Go 在这里没有问题,硬件设备有问题。这种情况的验证很简单:您需要通过不同方式尝试相同的连接来排除 Go 出错的可能性。我会尝试telnet 192.168.137.10 502。这是how to do it。如果您发现telnet 有效,而您的 Go 程序仍然无效,将是一个有趣的情况,那么请回来提一个精致的问题。

标签: go ethernet tcp-ip plc


【解决方案1】:

我怀疑服务器有问题,而不是您的客户端代码有问题。您不只是收到“连接被拒绝”错误的事实告诉我远程端口可能已打开。可能是服务器在合理时间内没有对传入的连接执行 accept()。

可能导致这种情况的原因

  • 已超过服务器上配置的最大连接数或服务太忙。
  • 服务器已崩溃
  • 有趣的防火墙或您与服务器之间的其他路由问题。某些深度数据包检测防火墙有时会导致此类问题。

我建议您尝试在服务器端进行故障排除。

【讨论】:

    猜你喜欢
    • 2015-08-07
    • 2021-12-23
    • 2014-02-28
    • 2016-10-26
    • 2013-03-07
    • 2021-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多