所以今天我尝试通过SSHNet API创建到远程主机的SFtp连接。快速而肮脏的控制台应用程序中的测试工作得非常好,但是当在应该添加功能的项目中引用构建的DLL时,DLL会抛出异常。
调试项目,异常结果是在套接字连接(或开始连接功能)上:
套接字操作遇到死网络。
如前所述,另一个项目中具有相同参数的完全相同的服务器的连接工作正常。
我检查了项目/解决方案配置。仔细检查服务器名称和其他参数并制作一个测试用例,在特定项目中总是失败(无论什么服务器)但是(新)项目中的WORKS:
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);
但这似乎不是一个奇怪的例子。 有没有人以项目的具体方式遇到过这种错误?有什么我想念的吗?
谢谢,
答案 0 :(得分:0)
也许图书馆使用了错误的网卡?
我在使用.net CF 2.0的Windows CE设备上遇到此异常。在我的情况下,我正在为GPRS接口创建一个套接字,但该设备是通过以太网连接的。