linux:bind error: Address already in use 的解决办法

关于网络编程,服务器客户端bind error: Address already in use的问题:

原因:

1.你用了端口号,而进程没退出。

2.结束进程时:

crtl +c  和 crtl +z 是有区别的,前者结束进程 ,后者挂起进程

你使用后者的话,就会导致进程挂起 没杀死

解决方法:

1.杀死进程

ps -aue 查看pid  ,然后kill +进程pid ,杀死进程
2.换端口号 
3.等半分钟,等它端口释放      
4.外部传参
外部传入端口号 直接更改新的端口号 比2方便 
5 使用setsockopt()函数,取消端口号绑定限制
int on=1;
setsockopt(fd,SOL_SOCKET,SO_REUSEADDR,&on,sizeof(on));

你可能感兴趣的:(linux:bind error: Address already in use 的解决办法)