我测试了一下 ,如果对方主机不存在的话,超时时间为:21s左右,我想把它改小一点,但不知道怎么改?
解决方案 »
- 大侠们帮个忙! 找不到请求的 .Net Framework Data Provider。可能没有安装。
- 大家说说 Windows API是什么??
- ~~~~~~~~~~~~~~~~~~~~~~~内存不断的递增,直至抛异常
- C#里能使用MFC扩展的dll中的类吗
- C#交流群
- datable绑定在datagrid,在得知数据table是否发生了变化。
- 在streamReader中的peek方法有何用?请各位DX解释清楚,并附代码?
- 散分50,C#如何调用C、C++封装的DLL,如何把C、C++代码封装成DLL
- 网站数据筛选保存到数据库
- C#中如何卸载窗体?
- C#分布式开发(web services),大家共享,多多讨论呀!!
- 如何判断button1的Click已经加载了button1_Click事件
2、如果连接成功,则停用timer,成功
3、如果连接不成功,在timer事件中调用socket.close()方法
4、socket.connect的功能会报错,缉获并处理这个错误
connectDone 是ManualResetEvent类型可以在connectDone.WaitOne();
中使用等待的时间来限制连接超时
比如connectDone.WaitOne(5000);
是超时时间为5秒
connectDone.WaitOne();
public void Conn()
{
try
{
ClientSocket=new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
IPAddress ipAddress = IPAddress.Parse(tcpIpServerIP);
IPEndPoint remoteEP = new IPEndPoint(ipAddress, tcpIpServerPort);
connectDone.Reset();
ClientSocket.BeginConnect(remoteEP,new AsyncCallback(ConnectCallback),ClientSocket);
connectDone.WaitOne();
StateObject state = new StateObject(bufferSize,ClientSocket);
ClientSocket.BeginReceive(state.buffer,0,bufferSize,0,
new AsyncCallback(ReceiveCallback), state);
}
catch(Exception e)
{
OnErrorEvent(new ErrorEventArgs(e));
}
}
http://blog.csdn.net/zhiang75/archive/2004/08/16/75915.aspx