Tag: socketexception

偶发TCP连接失败(WSAEHOSTUNREACH)

在本地千兆网络上,我有一个使用单个TCP服务器和许多客户端的应用程序。 每个客户端每30秒ping一次服务器,打开TCP连接,发送状态消息,然后关闭。 使用SocketAsyncEventArgs设置服务器的方式与此处显示的示例非常相似(为简洁起见,省略) 客户端使用TcpClient启动连接。 客户代码的相关部分: using (TcpClient client = new TcpClient()) { IAsyncResult ar = client.BeginConnect(address, port, null, null); if (!ar.AsyncWaitHandle.WaitOne(timeout)) { throw new ApplicationException(“Timed out waiting for connection to ” + address); } client.EndConnect(ar); //exception thrown 5%-10% of the time //…send message and receive response… } 一切正常,除了在某些机器上,在EndConnect上只有5%-10%的时间抛出exception。 例外是WSAEHOSTUNREACH (10065): System.Net.Sockets.SocketException (0x80004005): A socket operation […]

连接到SFTP服务器的SocketException:name有效,但未找到所请求类型的数据

我正在尝试使用SharpSsh库连接我的sftp服务器,但我收到以下错误: System.Net.Sockets.SocketException (0x80004005): The requested name is valid, but no data of the requested type was found 我正在使用以下代码进行连接 Tamir.SharpSsh.Sftp sftp = new Tamir.SharpSsh.Sftp(“ftp.simptr.us”, “username”, “password”); 为什么抛出这个exception?

通常只允许使用每个套接字地址(协议/网络地址/端口)?

我一直在谷歌寻找一个严肃的解决方案,我只得到“Regisrty解决方案”的东西,我不认为甚至与我的问题有关。 由于某种原因,我得到这个错误,而我只启动一次TcpListner,当+如果失败我停止服务器。 我真的不明白。 这是我的代码: class Program { private static string ServerName = “”; private static string UserName = “”; private static string Password = “”; private static string dbConnectionSring = “”; private static X509Certificate adminCertificate; private static byte[] readBuffer = new byte[4096]; static void Main(string[] args) { Console.WriteLine(“Please grant SQL Server access to the Admin […]

C#SocketException没有被捕获

我的代码中有一个非常奇怪的引用。 我正在开发ac#chat客户端 – 服务器应用程序。 当我关闭服务器时,我希望客户端自动关闭。 客户端使用StremReader从TcpClient对象读取。 客户端处于while循环中,它读取一行(StreamReader.ReadLine()),然后使用它读取的行执行一些操作。 当serever关闭时,我也关闭tcp连接服务器端。 所以,我期待客户端看到由readline引起的SocketException,捕获它并退出。 但是例外不会被抓住! 这是客户端循环代码: while (true) { try { ricev = read.ReadLine(); } catch(SocketException exc) { //It never gets in here } chat.Invoke(showMessage, ricev); } 当我关闭服务器时,visual studio告诉我在System.dll中引发了“System.Net.Sockets.SocketException”第一次机会exception,但是我无法理解它。 为什么会这样? 我还尝试用a捕获任何genericsexception catch { } 阻止,但这也不起作用。 任何帮助将不胜感激! 编辑:经过多次尝试后,我发现SocketException根本没有被提升。 这是如此奇怪,正如我在评论中所说,在相反的情况下,当客户端在服务器之前关闭时,exception会被提升并且我可以解决它。 我真的不知道发生了什么……