本帖最后由 VisualEleven 于 2011-10-25 08:19:59 编辑

解决方案 »

  1.   

    纯socket编程有几个步骤
    服务端:
    socket
    bind
    listen
    accept
    recv/send
    closesocket
    客户端:
    socket
    connect
    recv/send
    closesocket
    当然还有初始化和最后释放socket的库
    如果你拔掉网线,你接收的时候会自动返回,调用结束,除非你有线程进行监控,进行断开自动重新连接,如果新获取的IP地址不一样,必须要重新设置IP地址
      

  2.   

    IP变化后,将会更新网关的arp缓存。新到来的IP包会找不到目的地址被丢弃。这个socket的tcp控制块将会超时,断开。需要重新连接。
    运气好的话,再次dhcp得到同样的IP,则socket还可以用。
      

  3.   

    在调用recv ,send时WSAGetLastError查看返回错误,再针对进行错误操作