使用winsock控件,有时提示“地址已经占用”怎么回事?

liul19 2003-08-19 03:51:42
使用winsock控件,有时提示“地址已经占用”怎么回事?怎么解决?
一般时候没问题,这是很偶然时发生的,但大概一天能遇到1次,局域网上有6台机器运行,包括1台服务器,大家遇到过吗?怎么解决?
...全文
88 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
liul19 2003-08-20
  • 打赏
  • 举报
回复
我的问题是有时出现,是极少的情况(大概1天1次)。
机制是这样的,C/S结构,服务器端,用一个Winsock数组,其中winsock(0)用于listen,也就是从winsock(1)开始用于连接传递信息(每有一个请求就动态生成一个winsock与其互通信息)。
miranda516 2003-08-19
  • 打赏
  • 举报
回复
Windows 如果检查到IP地址与本机上的相同,而物理地址不同,这时Windows 就会向用户报告这个IP地址已经被别人占用。Windows 对待IP地址是以先来后到的顺序分配,如果已经有人先占了,那么本机的网络接口就会被禁用。
kunguo 2003-08-19
  • 打赏
  • 举报
回复
在进行connect前,将localport设置为0,可避免此情况.
victorycyz 2003-08-19
  • 打赏
  • 举报
回复
一般地,可能是你没有释放对象。
danielinbiti 2003-08-19
  • 打赏
  • 举报
回复
端口可能被其它程序占用了也会出现这种情况
jornet 2003-08-19
  • 打赏
  • 举报
回复
应该是ip冲突吧,把你的ip改一下就好了

1,451

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧