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

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

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

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

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

redhat、centos的bind是chroot过的(named的\在 \var\下面的某个地方),你很可能指定zone文件的时候没有考虑到chroot以后named找不到这个文件的。


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

原文地址: https://outofmemory.cn/yw/7326258.html

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

发表评论

登录后才能评论

评论列表(0条)

保存