if(Create())
{
if(Connect(ServerIP,port))
                {
                    。。
                 }一般创建CSocket时候,如果ip有效时候没问题,如果网络现在没有这个ip设备。
connect的时候会很长时间,而且程序无响应。
一般都有什么处理方式啊??
谢谢!

解决方案 »

  1.   

    超时设置
    setsockopt()看一下msdn
      

  2.   

    连接的时候,使用ioctlsocket设置套接字为非阻塞方式的,然后connect。connect会马上返回,使用select检查是否可写。连接完后再设回阻塞方式。select中可以设置超时,你可以把总超时分成几个小的超时,使用一个循环来连续调用select,同时把连接过程通过消息发给一个窗口显示出来,这样会让使用者不至于等的难受。这个连接过程最好放到一个线程中。