c#关于socket连接超时控制的方案
来源:互联网 发布:modern php百度盘 编辑:程序博客网 时间:2024/06/17 02:51
之前有一个项目用到Remoting技术,当远程的地址无效或服务器没运行时,访问远程对象方法,会经过几十秒的时间才抛出异常。因为我用的是tcp模式,所以想到可以用socket来测试连接,就可以在调用远程对象方法之前知道远端服务有没有运行。代码如下:
public class TcpServiceConnect
{
protected EventWaitHandle m_event;
public TcpServiceConnect()
{
m_event = new EventWaitHandle(true, EventResetMode.ManualReset);
}
public void Close()
{
m_event.Set();
}
public bool TryConnect(string ip, int port)
{
m_event.Reset();
var point = new IPEndPoint(IPAddress.Parse(ip), port);
var sok = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
sok.BeginConnect(point, ConnectCallBack, sok);
m_event.WaitOne(3000, false);
bool isConnected = sok.Connected; //事件等结束后,通过这个属性可以知道有没有连续成功
sok.Close();
return isConnected;
}
private void ConnectCallBack(IAsyncResult asyncresult)
{
try
{
var sok = (Socket)asyncresult.AsyncState;
sok.EndConnect(asyncresult);
}
catch { }
m_event.Set();
}
}
- c#关于socket连接超时控制的方案
- 关于socket长连接超时
- Socket关于设置连接超时
- 关于设置socket超时连接
- 如何控制C#Socket的连接超时时间
- Socket 关于设置Socket连接超时时间
- Socket 关于设置Socket连接超时时间
- Socket 关于设置Socket连接超时时间
- Socket 关于设置Socket连接超时时间
- C#中设置Socket连接请求的超时
- Socket的读取超时与连接超时
- C# Socket连接请求超时机制
- [译]C# Socket连接请求超时机制
- C# Socket连接请求超时机制
- C# Socket连接请求超时机制
- C# Socket连接请求超时机制
- C# Socket连接请求超时机制
- c# socket连接请求超时设置
- 源于case的一些知识点
- 李後白 靑蓮 不爲無見
- R:NA与NULL值
- 讲讲c++ Session1
- 第九周项目六——穷举法解决组合问题
- c#关于socket连接超时控制的方案
- Centos7下安装mysql5.6.21碰到的问题
- Linux 单网卡下增加多个IP地址的方法
- 统一管理properties
- 存储过程02-简单通用分页
- 嵌入式 FAAC1.28 在海思HI3518C/HI3518A平台linux中的编译优化
- svn的文本对比功能(线上线下均可以使用)
- Jquery的table的合并行
- 遍历 Json 数组(不知道属性的情况), 以及比较相同结构的两个 Json 数组值不同项