当前位置:  技术问答>linux和unix

socket通信bind error:Address already in use

    来源: 互联网  发布时间:2017-01-27

    本文导语:  socket tcp 通信 绑定了ip 和 port 正常顺序 客户端发起socket 服务端收到socket的时候 没有问题 但是有时候,顺序错误,就导致程序死了 再起运行程序的时候 发现bind error:Address already in use 等了5 -10分钟再试 也...

socket tcp 通信
绑定了ip 和 port

正常顺序 客户端发起socket 服务端收到socket的时候 没有问题

但是有时候,顺序错误,就导致程序死了
再起运行程序的时候 发现bind error:Address already in use
等了5 -10分钟再试 也不行 
禁用网卡再启动 也不行
重新开机倒是好了

想知道 有没有查看 是哪个连接Address already in use
然后手动终止这个呢
总不能每次程序死掉 就开机吧

比如netstat命令什么的

|
在服务端bind or listen前
unsigned int value = 0x1;
setsockopt(sock,SOL_SOCKET,SO_REUSEADDR,(void *)&value,sizeof(value));

|
TIME_WAIT引起的。

可以用setsockopt来设置。

http://blog.csdn.net/hairetz/archive/2009/04/16/4083389.aspx

1.closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket:
BOOL bReuseaddr=TRUE;
setsockopt(s,SOL_SOCKET ,SO_REUSEADDR,(const char*)&bReuseaddr,sizeof(BOOL));


2. 如果要已经处于连接状态的soket在调用closesocket后强制关闭,不经历
TIME_WAIT的过程:
BOOL bDontLinger = FALSE;
setsockopt(s,SOL_SOCKET,SO_DONTLINGER,(const char*)&bDontLinger,sizeof(BOOL));



    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • php实现socket实现客户端和服务端数据通信源代码
  • 请问unix与window之间能否实现socket通信或者有什么方式可以通信?
  • SSL握手通信详解及linux下c/c++ SSL Socket代码举例
  • 两个 Socket 互相通信,其中一个如何判断另一个 Socket 是否已经意外断开了连接?
  • linux下用socket实现多进程间通信问题?
  • 怎样提高j2me中socket通信速度???
  • FIFO和Socket通信的并发效率问题
  • socket 通信!
  • 关于多网口socket通信的简单问题
  • socket通信
  • linux客户端程序能否和windows端的服务器程序进行socket通信?
  • Windows VMWare虚拟机socket通信问题
  • 征求Socket通信例程代码
  • Linux下的Socket通信如何断开连接的端口从而实现重复使用该端口
  • 初学内核编程,在内核态下怎么用socket通信?
  • linux与Windows socket通信,乱码
  • 基于socket的linux和Windows通信程序为什么运行特别慢?
  • C和Java的Socket通信问题
  • 关于socket通信问题
  • 关于socket通信,C的代码,有个问题请教高手!
  • socket通信 请求应答
  • java命名空间java.net类socket的类成员方法: socket定义及介绍
  • re socket编程中 ACCEPT返回的socket与原socket(他参数中的)端口号一样吗?
  • java命名空间java.nio.channels类socketchannel的类成员方法: socket定义及介绍
  • libevent2需要从socket读一段数据写入一个socket中,同时发送给另一个socket
  • java命名空间java.nio.channels类serversocketchannel的类成员方法: socket定义及介绍
  • socket 通讯开发包 Simple Sockets
  • java命名空间java.nio.channels类datagramchannel的类成员方法: socket定义及介绍
  • C++ Socket 库 C++ Sockets
  • java命名空间java.net类socket的类成员方法: getsendbuffersize定义及介绍
  • vc做的的socket应用和unix下socket?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3