c# - 可以ping通网络设备但没有tcp连接

标签 c# networking windows-7 tcp tcpclient

我构建了一个 Windows 服务,它使用 IP 和端口号通过 tcpClient 连接到本地网络设备。网络设备流出数据,我收到了一个读取。对于多个设置(总是 1 台机器 -> 1 台网络设备),这已经工作了 MONTHS。

现在几乎所有的连接尝试都开始失败了! 奇怪的是,我仍然可以通过命令提示符 ping 设备。 在腻子中,没有数据被传输。 使用 netstat,我没有看到列出任何远程地址。

在我的服务中有以下错误日志消息:

 Exception by Establishing TCP/IP Connection@ServiceName System.Net.Sockets.SocketException (0x80004005): 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 XXX.XXX.XXX.XX:XXXX  (translated into english ;D)
   at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
   at System.Net.Sockets.Socket.Connect(EndPoint remoteEP)
   at System.Net.Sockets.TcpClient.Connect(IPEndPoint remoteEP)
   at System.Net.Sockets.TcpClient.Connect(IPAddress address, Int32 port)

这与网络有关吗?或者它与 Windows 更新或其他什么有关?

我最近的工作代码

  public void readDevice()
        {

            TcpClient Client = new TcpClient();
            System.Net.IPAddress ip = System.Net.IPAddress.Parse(ConfigurationManager.AppSettings["IP"]);

                /*
                * Establishing TCP/IP Connection
                */
                try
                {
                    // IP and Port number  
                    log.Debug("Try Client.Connect:" + ip);
                    Client.Connect(ip, 5000);

                }
                catch (Exception ex)
                {
                    /* Handle the socket exception.... */
                   //this error is thrown
                    log.Debug("Exception by Establishing TCP/IP Connection@ServiceName "+ ex);
                }

                NetworkStream MessageStream = Client.GetStream();

      //Magic be here

        }

我真的卡住了,因为可以 ping 通但无法连接的设备。 非常感谢任何帮助

最佳答案

我不知道这会有多大帮助,但听起来像是网络问题。如果它只是停止工作并且代码方面没有任何改变,我会开始调查那里。

我的一台服务器遇到了这样的问题,最终问题是端口转发表搞砸了,所以我试图连接到错误的机器。我刚刚修复了转发,该死!一切都很好。

我希望你的问题也一样容易解决。

关于c# - 可以ping通网络设备但没有tcp连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12529671/

相关文章:

java.net.SocketException : Connection reset

windows-7 - Windows 7 上的 Visual Studio 2012 仍然需要 .NET 4.5

c# - 错误映射 NHibernate 3.3

c# - 通过 Exchange Web 服务访问投票按钮扩展属性

c# - 位图到 int[] 使用 Marshal.Copy()

php - 检查IP地址是否在网络中

c# - 获取进程互斥列表

networking - 为什么 MQTT 被称为 "light weight"消息协议(protocol)?

java - 获取 无法找到主类 : error in Java even though Manifest has the class specified

wpf - 当监视器设置设置为 "Show Desktop Only On 1"时,访问 WPF 中的第二个监视器