VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 24|回复: 1

调用winsock的库函数bind()时报错:通常每个套接字地址(...)只允许使用一次,怎么解决?

[复制链接]

2

主题

4

帖子

3

积分

新手上路

Rank: 1

积分
3
发表于 2020-3-21 19:00:02 | 显示全部楼层 |阅读模式
程序调用winsock的库函数,大概流程是这样的:

1)用socket()创建一个socket对象
2) 用bind()把socket对象绑定到指定地址及端口
3)listen()开始监听
4)关闭程序时closesocket()

正常运行时没有问题,但如果程序在关闭前因非法操作崩溃退出了,再启动程序时,运行到bind()时就会报错:“通常每个套接字地址(协议/网络地址/端口)只允许使用一次”,错误号是10048
而且这时只能重注销操作系统再启动,才能不再报这个错
我想知道当我判断到这个错误号时,socket库函数中有没有可以释放原来已被绑定的端口的方法?各位高手指定一二,谢谢了!
回复

使用道具 举报

0

主题

21

帖子

18

积分

新手上路

Rank: 1

积分
18
发表于 2020-7-8 10:00:02 | 显示全部楼层
app的systemerror也写closesocket()
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2020|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表