我想向各位高手请教一个问题。是这样的(以下是Tcp服务器端的一段代码):    Socket newsock = new Socket(AddressFamily.InterNetwork, SocketType.Stream,   ProtocolType.Tcp);
    IPEndPoint ipep = new IPEndPoint(IPAddress.Any, 9050);
    newsock.Bind(ipep);
    newsock.Listen(10);  写完这几条语句之后,本应该是:
    Socket client = newsock.Accept();  但是我想在调用Accept方法之前先判断一下是否有连接被挂起(即,已经有远程主机要与此服务器进行tcp连接,并已经发出了连接请求,只是本机还没有Accept),请问有方法能办到么?

解决方案 »

  1.   

    以前用VC 好像是有函数的 记得是 FDSET什么的里面都是集合类型 有三种状态的...可以查一下MSDN
      

  2.   

    Poll 方法将会检查 Socket 的状态。指定 selectMode 参数的 SelectMode.SelectRead,可确定 Socket 是否为可读。指定 SelectMode.SelectWrite,可确定 Socket 是否为可写。使用 SelectMode.SelectError,可检测错误条件。Poll 将在指定的时段(以微秒为单位)内阻塞执行。如果希望无限期的等待响应,则将 microSeconds 设置为一个负整数。如果要检查多个套接字的状态,则不妨使用 Select 方法。
    不知能不能满足你的要求