使用winsock控件,有时提示“地址已经占用”怎么回事?怎么解决?
一般时候没问题,这是很偶然时发生的,但大概一天能遇到1次,局域网上有6台机器运行,包括1台服务器,大家遇到过吗?怎么解决?

解决方案 »

  1.   

    应该是ip冲突吧,把你的ip改一下就好了
      

  2.   

    在进行connect前,将localport设置为0,可避免此情况.
      

  3.   

    Windows 如果检查到IP地址与本机上的相同,而物理地址不同,这时Windows 就会向用户报告这个IP地址已经被别人占用。Windows 对待IP地址是以先来后到的顺序分配,如果已经有人先占了,那么本机的网络接口就会被禁用。
      

  4.   

    我的问题是有时出现,是极少的情况(大概1天1次)。
    机制是这样的,C/S结构,服务器端,用一个Winsock数组,其中winsock(0)用于listen,也就是从winsock(1)开始用于连接传递信息(每有一个请求就动态生成一个winsock与其互通信息)。