我试图在端口号绑定我的套接字(服务器套接字)8000.它起作用并为我做了工作.在代码的最后我也关闭了套接字.在下一刻我再次运行我的代码,它向我显示该地址已被使用.我已经打印了错误值的含义,strerror(errno);以查看我的代码是否在每个点都正常工作.要检查端口是否空闲,我使用了netstat它,但它显示端口号8000是免费的.它发生在我身上很多次.每次我等待几秒钟然后它再次开始工作.我正在使用c语言.那么我的操作系统对于这种行为的原因是什么?
再过几秒钟后,我运行代码然后就可以了.
anirudh@anirudh-Aspire-5920:~/Desktop/testing$ sudo ./a.out
Socket Creation: Success
File open: Success
Socket Bind: Address already in use
Socket Listen: Address already in use
^C
anirudh@anirudh-Aspire-5920:~/Desktop/testing$ sudo netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1348/lighttpd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 984/sshd
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1131/cupsd
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 1211/mysqld
tcp6 …Run Code Online (Sandbox Code Playgroud)