linux - 套接字绑定(bind)返回错误 63

标签 linux sockets networking network-programming opensuse

当我尝试使用 linux 绑定(bind)调用绑定(bind)套接字时。它返回错误 63(流资源不足)。我试图探索(使用谷歌)为什么会出现这个错误以及如何重现它,但我没有运气。这个问题发生在我无法直接访问的设置之一。我想了解为什么会出现此错误并想重现该问题。我正在使用 Opensuse Linux。

任何帮助都将不胜感激。

最佳答案

错误 0x63 是 EADDRNOTAVAIL,这意味着您正在尝试绑定(bind)到一个已在使用的地址。确保您尚未运行您的程序实例(它会绑定(bind)端口),并且没有其他东西正在使用该端口。

命令

netstat -nat 

将告诉您端口是否正在使用中。如果你有 root 访问权限,你可以添加一个选项(-p 在 linux 上),它也会告诉你哪个进程打开了端口。

还有 lsof 和/或 fuser 命令(取决于您的 Linux/Unix 风格)来列出打开的文件句柄和拥有进程。这些还需要 root 或 sudo 访问权限。

关于linux - 套接字绑定(bind)返回错误 63,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12908932/

相关文章:

用于计算圈复杂度的Java工具

linux - 自动从一个 linux 系统连接到另一个

windows - WinSock.h & WinSock2.h 使用哪个?

c++ - 使用 Win32 网络 API 根据计算机名称获取本地计算机的 IP 地址

sockets - 在 Lua 中获取 IP 地址

c - 如何编写一个 C 程序,在调用时运行另一个给定程序并尝试控制子进程的行为

linux - 从 svn 获取修订号的批处理脚本

sockets - boost::asio 套接字 async_* 链

java - 从服务器到客户端的多个 println

c++ - poll() 是边缘触发函数吗?