none
非常诡异的TCP异步连接问题 RRS feed

  • 问题

  • 很诡异的问题。请看下面的tcp异步连接代码 ================================= 
    TcpClient client = new TcpClient(); 
    client.BeginConnect(myIPaddress, port, new AsyncCallback(ConnectCallback), client); 
    
    public void ConnectCallback (IAsyncResult result) 
    { 
    TcpClient client = (TcpClient)result.AsyncState; 
    if(client.Connected) 
    {
     //todo something 
    } 
    }
    进入回调后在远程的主机根本没有打开情况下,client.Connected的值是true。 在远程主机端口没开放的情况下,我把tcp连接这个模块单拿出来测试,进入回调后connected属性值是正常的false.难道是我主程序调用的问题吗?但我的程序怎么会影响到tcp连接呢?我要连接的远程端口明明没有开放。我也用netstat -a 命令查看了。求指教!非常非常困惑~如能解答不胜感激。有没有c#网络编程方面的好书呢?如果能推荐非常感激!
    2012年10月24日 2:20

答案