Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# TCP套接字。Connect正在生成误报_C#_.net_Sockets_Tcp - Fatal编程技术网

C# TCP套接字。Connect正在生成误报

C# TCP套接字。Connect正在生成误报,c#,.net,sockets,tcp,C#,.net,Sockets,Tcp,我在C#中的Socket.Connect方法中遇到了非常奇怪的行为。我正在尝试TCP套接字。请连接到有效的IP但已关闭的端口,然后该方法将继续,就像我已成功连接一样。当我嗅探数据包时,我看到应用程序正在从远程机器接收RST数据包。然而,从现有的跟踪中可以清楚地看出,connect方法没有抛出异常。你知道这是什么原因吗 运行的代码基本上是这样的 IPEndPoint iep = new IPEndPoint(System.Net.IPAddress.Parse(m_ipAddress),

我在C#中的Socket.Connect方法中遇到了非常奇怪的行为。我正在尝试TCP套接字。请连接到有效的IP但已关闭的端口,然后该方法将继续,就像我已成功连接一样。当我嗅探数据包时,我看到应用程序正在从远程机器接收RST数据包。然而,从现有的跟踪中可以清楚地看出,connect方法没有抛出异常。你知道这是什么原因吗

运行的代码基本上是这样的

IPEndPoint iep = 
    new IPEndPoint(System.Net.IPAddress.Parse(m_ipAddress), m_port);
Socket tcpSocket = new Socket(AddressFamily.InterNetwork, 
    SocketType.Stream, ProtocolType.Tcp);
tcpSocket.Connect(iep);
为了增加神秘感。。。在独立控制台应用程序中运行此代码时,结果与预期一致–connect方法引发异常。但是,当在Windows服务部署中运行它时,我们发现connect方法不会引发异常

编辑以回应Mystere Man的回答 例外情况将如何被接受?我在.Connect方法的正上方有一个Trace.WriteLine,在它的正下方有一个Trace.WriteLine(为了可读性,代码示例中没有显示)。我知道两条轨迹都在运行。我也有一个关于整个事情的尝试,它也做了一个Trace.Writeline,我在任何地方的日志文件中都没有看到。我还按照您的建议启用了内部套接字跟踪。我没有看到任何例外。我看到了成功的连接

我正在尝试识别windows服务应用程序和我制作的诊断控制台应用程序之间的差异。不过,我的想法快用完了

结束编辑


谢谢

您确定该异常不会在服务中被捕获和吞噬,而不会在控制台应用中被捕获和吞噬吗


我的第一步是分离这两个实现之间的差异。您提到了跟踪,但并没有说这是网络跟踪(BCL的一部分)还是您自己的跟踪。如果您没有使用网络跟踪,请启用它。

我再也没有看到过这种情况。在我看来,某处似乎有什么东西腐败了。安装应用程序的操作系统或.NET framework。

请参阅AppDomain.CurrentDomain.UnhandledException