验证socket能否连接
来源:互联网 发布:unity3d raycasthit2d 编辑:程序博客网 时间:2024/05/18 01:33
//用于控制进程等待 private static ManualResetEvent socketReset = new ManualResetEvent(true); //暂时使用的超时时间的设定 单位:秒 public static int overTimes = 2; #region 判断socket状态 /// <summary> /// 在超时时间内判断连接是否存在或通畅 /// </summary> /// <param name="ip"></param> /// <param name="port"></param> /// <returns></returns> public static bool IsConnect(string ip, int port) { //重置等待变量 socketReset.Reset(); //准备参数 bool connected = false; Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); IPAddress ipAddress = null; IPAddress.TryParse(ip, out ipAddress); //获取ipe IPEndPoint iep = new IPEndPoint(ipAddress, port); //尝试请求 socket.BeginConnect(ipAddress, port, new AsyncCallback(ConnCallback), socket); //等待尝试请求 socketReset.WaitOne(overTimes * 1000); connected = socket.Connected; socket.Close(); return connected; } /// <summary> /// Connect的回调函数 /// </summary> /// <param name="result"></param> private static void ConnCallback(IAsyncResult result) { try { Socket socketAsync = result.AsyncState as Socket; if (socketAsync != null) { //开始连接 socketAsync.EndConnect(result); //连接成功,提前结束等待 socketReset.Set(); } } catch (Exception ex) { //连接失败 } } #endregion
0 0
- 验证socket能否连接
- 验证Intent能否解析
- [socket] 断开连接时,time_wait状态的解释和验证:
- socket验证半连接的代码和测试结果
- cmwap 能否使用socket 网络讨论汇总
- socket 连接
- Socket连接
- Socket连接
- 通过android设备测试能否连接网址
- 不设密码Win7能否远程连接
- hmac简单socket验证
- PHP socket 连接 Socket server
- Delphi socket连接.net Socket
- Ajax(1)实现类似验证该用户名能否注册功能
- 搜索融合可信验证,搜搜能否后来居上?
- socket长连接和socket短连接
- socket 长连接 短连接
- Socket 长连接、短连接
- 服务器内存提示错误
- Magento订单状态迷思
- Angular 调用 WebApi 传参
- warning: function returns address of local variable
- 你需要知道的几个Git Command——Git中的后悔药
- 验证socket能否连接
- 在线编译
- Shell脚本入门(十二) - 将数据写入文件
- Spring Security 3.x完整入门配置教程及其代码下载
- LeetCodeOJ. Single Number
- UVA - 10066 The Twin Towers
- uva11624
- 获取Magento用户登陆状态
- BZOJ3689 异或之