项目特定的套接字异常:发现死网络

本文关键字:发现 网络 异常 套接字 项目 | 更新日期: 2023-09-27 18:01:58

所以今天我试图通过SSHNet API创建一个到远程主机的SFtpconnection。在一个快速而肮脏的控制台应用程序中进行测试工作得很好,但是当在应该添加功能的项目中引用构建的DLL时,DLL会抛出异常。

调试项目,发现异常是在socket connect(或begin connect函数)上:

一个套接字操作遇到一个死机网络。

如前所述,在另一个项目中使用相同的参数连接到完全相同的服务器工作得很好。

我检查了项目/解决方案配置。仔细检查服务器名称和其他参数,并做了一个测试用例,在特定的项目中总是失败(无论什么服务器),但在(新)项目中工作:

var ep = new IPEndPoint(IPAddress.Parse(IPAdres),Port);
var sock = new Socket(ep.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
sock.SetSocketOption(SocketOptionLevel.Tcp, SocketOptionName.NoDelay, true);
//  Connect socket with specified timeout
var connectResult = sock.BeginConnect(ep, null, null);
if (!connectResult.AsyncWaitHandle.WaitOne(180, false))
{
    throw new Exception("Timeout");
}
sock.EndConnect(connectResult);

但这似乎不是一个奇怪的例子。有人在特定项目中遇到过这种错误吗?我错过什么了吗?

谢谢,

项目特定的套接字异常:发现死网络

也许库使用了错误的NIC?

我在使用。net CF 2.0的Windows CE设备上遇到此异常。在我的例子中,我正在为GPRS接口创建一个套接字,但设备是通过以太网连接的。