linux下socket编译时出现绑定错误

linux下socket编译时出现绑定错误,第1张

教你个调试方法,你把printf("bind error")换成printf("bind error: %s\n", strerror(errno))这样可以看出哪里出错了.

我没猜错的话错误信息应该是"Address already in use." ,如果是这个错误的话,你再等一会从新运行server就可以了.

,具体回答如下:

1.首先,检查端口10081是否已被其他程序占用。可以使用netstat -ano命令,查看当前机器上正在使用的端口,如果端口10081被其他程序占用,则需要结束对应的进程,或者改变程序的绑定端口。

2.如果端口10081未被其他程序占用,则需要检查防火墙是否阻挡了该端口的访问,如果是,则需要关闭防火墙,或者打开防火墙的相关端口。

3.如果以上步骤都没有问题,则可能是程序本身的问题,需要检查程序的代码,看看是否有绑定端口10081的代码,或者检查程序的配置文件,看看是否有关于绑定端口10081的配置。

你所使用的套接字已被占用,在Bind()之前你是否申请了套接字,或者申请之后已经被占用,Bind所使用的套接字来源很重要,可以查查。再有就是linux里面你的程序如果非法退出或者没有使用close释放套接字,在程序结束以后系统会延时自动释放套接字资源,但是要等几分钟,之后你就可以重新使用了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8230240.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存