当我尝试使用linux bind调用绑定套接字时。它返回错误63(流出资源)。我试图探索(使用谷歌)为什么会出现这个错误以及如何重现它但我没有运气。这个问题发生在我没有直接访问权限的设置之一。我想了解为什么会出现此错误并想重新创建问题。我正在使用Opensuse linux。
任何帮助都会非常明显。
答案 0 :(得分:2)
错误0x63是EADDRNOTAVAIL,这意味着您正在尝试绑定到已在使用的地址。确保你还没有运行你的程序实例(这将绑定端口),并且没有其他东西使用该端口。
命令
netstat -nat
会告诉您端口是否正在使用中。如果您具有root访问权限,则可以在linux上添加一个选项(-p
),该选项还会告诉您哪个进程打开了端口。
还有lsof
和/或fuser
命令(取决于您的Linux / Unix的风格)列出打开的文件句柄和拥有的进程。这些还需要root或sudo
访问权限。