多个SOCKET同时连接同一台服务器的同一个端口,后来的SOCKET虽然可以成功建立,但是会等待前面的关闭才能进行正常通信。如果第一个SOCKET不关闭,程序就像死掉一样。请问怎么解决这样的问题呢?谢谢!
像FTP服务器的默认端口是23,可以允许多连接,它是怎么达到这样的效果呢?

解决方案 »

  1.   

    很简单,你程序写错了呗比如accept(sock)
    然后,你就一直对这个sock操作,其他都阻塞了,当然象死掉一样。最简单的例子,不用自己写socket,直接用CAsynSocket做一个服务器,同时多个socket访问,都不会出现你这个情况。
      

  2.   

    accept成功后,放到另一个线程或线程池中去处理,然后接着accept下一个
      

  3.   

    对头,你要看一下阻塞与非阻塞socket的区别了。