c#socket异步连接后怎样判断连接是否成功
2个回答
展开全部
private int connToServer(string hostip, int hostport,int ctimeout) { IPEndPoint remoteEp = new IPEndPoint(IPAddress.Parse(hostip),hostport); try { connDone.Reset();
//开始连接 cliSock.BeginConnect(remoteEp, new AsyncCallback(connCallBack), cliSock); connDone.WaitOne(ctimeout, false); if (!cliSock.Connected) { //连接超时 return CONNTIMEOUT; } //连接成功 return 0; } catch (SocketException ex) { //连接失败 cliSock.Close(); return CONNTIMEOUT; } catch (Exception ex) { //连接失败 cliSock.Close(); return CONNTIMEOUT; } } private void connCallBack(IAsyncResult ar) { Socket s = (Socket)ar.AsyncState; try { s.EndConnect(ar); isConnected = s.Connected; } catch (Exception ex) { isConnected = false; //发生错误 return; } finally { connDone.Set(); } }
//开始连接 cliSock.BeginConnect(remoteEp, new AsyncCallback(connCallBack), cliSock); connDone.WaitOne(ctimeout, false); if (!cliSock.Connected) { //连接超时 return CONNTIMEOUT; } //连接成功 return 0; } catch (SocketException ex) { //连接失败 cliSock.Close(); return CONNTIMEOUT; } catch (Exception ex) { //连接失败 cliSock.Close(); return CONNTIMEOUT; } } private void connCallBack(IAsyncResult ar) { Socket s = (Socket)ar.AsyncState; try { s.EndConnect(ar); isConnected = s.Connected; } catch (Exception ex) { isConnected = false; //发生错误 return; } finally { connDone.Set(); } }
展开全部
做好客户端和服务端后,在本地调试,客户端打开(或发送数据)后,服务端能接到发送过来的数据信息就算成功了。
客户端和服务端代码,百度搜一大把,由于代码有点多,这里就不贴出来了。
这里有一个实例:http://www.cnblogs.com/jasonjiang/archive/2010/06/24/1764469.html
客户端和服务端代码,百度搜一大把,由于代码有点多,这里就不贴出来了。
这里有一个实例:http://www.cnblogs.com/jasonjiang/archive/2010/06/24/1764469.html
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询