socket。BeginAccept(........);与在另外启动一个线程里运行socket。Accept(。)有些什么区别?BeginAccept这种方式会自动创建一个线程去执行么?后面这种算异步么?

解决方案 »

  1.   

    Beginxxx 的是系统自动启动一个线程, 和你自己启动线程的区别就是你不用管理新开得线程了,而且 Beginxxx 貌似用的是完成端口,性能较好
      

  2.   

    socket.BeginAccept(new AsyncCallback(Accept), socket);public static void acceptcallback(IAsyncResult ar)
    {
    Socket listener=(Socket)ar.AsyncState;//怎么理解这ar?
    Socket hander=listener.EndAccept(ar);//EndAccept能返回什么?
    }怎样获得传输到socket服务器端的值呢????
      

  3.   

    EndAccept 返回的是连接的那个SOCKET吧。 ar 具体怎么解释我也不清楚,帮你顶一下