【发布时间】:2011-11-24 20:52:50
【问题描述】:
我一直在查看许多示例,例如 this、this 和 this,但它们似乎都不起作用。我不确定出了什么问题,但是对于我尝试过的每个示例,等待都被忽略了,无论指定的等待时间如何,我都会在大约 1 秒内得到标准的未处理套接字异常。 No connection could be made because the target machine actively refused it.
这里摘录帮助理解:
public void Connect(string host, int port)
{
tcpClient.BeginConnect(host, port, OnConnect, null);
}
private void OnConnect(IAsyncResult async)
{
tcpClient.EndConnect(async);
}
尝试了一堆不同的示例,但对于所有示例,我的客户端应用程序要么在一秒钟后快速失败,要么引发套接字异常。 try-catch 会不会是一个更好的解决方案,只是避免使用 WaitHandles?
【问题讨论】:
-
所有这些示例都应该有效。在您的代码中使用第一个结束步骤。在调用
EndConnect之前不可能出现套接字错误。