这是为什么?

解决方案 »

  1.   

    Accept函数的调用,只是为了取得此连接对应的本地SOCKET。建立连接是协议栈完成的,不受用户控制。你可以用sniffer抓包看看,即便你不调用Accept,你的机器也会在收到SYN后回复SYN+ACK
      

  2.   

    那你是如何来拒绝连接呢?先Accept()然后调用closesocket()?这样客户端会先收到已连接上的错误消息,然后才收到socket关闭消息,好像不妥。您有什么好的解决办法?谢谢!
      

  3.   

    "已连接上"不是错误消息,是正确的消息。直接调用closesocket当然可以但是是个比较野蛮的做法,最好在close前先调用shutdown函数来从容关闭。