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

socket句柄不能及时释放的问题

    来源: 互联网  发布时间:2015-06-07

    本文导语:  unixware系统,通信服务程序,监听socket或连接socket,在程序关闭或异常退出后马上重启程序,socket创建不能成功,要等一定时间后重启程序,才能正常运行。 请求帮助 | 进入了TIME_WAIT状态。用SO_REUSEADDR选...

unixware系统,通信服务程序,监听socket或连接socket,在程序关闭或异常退出后马上重启程序,socket创建不能成功,要等一定时间后重启程序,才能正常运行。
请求帮助

|
进入了TIME_WAIT状态。用SO_REUSEADDR选项。

|
int optval = 1;
setsockopt(sd, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof(optval));

|
SO_REUSEADDR
选项有关

|
正常退出是在C/S端都调用CLOSE  关闭 连接的SOCKET 就不会有这种情况

异常退出或者KILL掉后要等待  SOCKET 自己超时是没有办法的

|
處理異常退出信號,關了它

|
呵呵, fierygnu(va_list) 的方法就可以了,我以前不知道的
时候,还给BIND()自己写了一个bind()失败的话,sleep(5000)
再bind()一次,呵呵,好搞笑

|
fierygnu(va_list)能不能说详细点,谢谢

|
注册signal函数,接管SIGINT等信号,在信号处理函数中关闭套结字

|
在程序关闭或异常退出后你要做收尾工作,
1.shutdown()
2.close()
3.sock = 0;
这样就没有问题了(异常推出要捕捉系统信号)

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












  • 相关文章推荐
  • kjava能不能通过socket连接服务器
  • 难道applet不能用socket?
  • 请问javaBean能不能进行非本机的socket连接
  • UDP SOCKET编程,不能发送广播数据包
  • Socket连接的时间不能控制??请帮小妹
  • Linux 能不能将多个socket加入相同组播组组播
  • java 与c++用socket通讯的问题??字符串不能接收到??急啊!
  • 请教,socket中recv不能一次完全接收send发送的字节数?
  • 请问一下, 我用applet和服务器socket通信, 是不是不能用IE浏览运行我的applet程序?
  • socket不能选择本地IP连接的解决方法
  • Socket不能选择本地IP连接问题如何解决
  • 请问linux下socket编程服务器数据只能发送不能接收吗?
  • 创建SOOK_RAW的socket不能绑定
  • 不能用Socket或是ServerSocket读取数据
  • 客户端 不能发送信息到服务器端?(在SOCKET)请看看下面这段程序有什么错?----客户端的发送信息服务器端收不了!
  • 一个简单的SOCKET程序, 可服务端不能读客户端的数据,请高手指点!
  • 关于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?
  • java命名空间java.net类socket的类成员方法: getreceivebuffersize定义及介绍
  • QSocketDevice ( int socket, Type type )中那个 int socket 是哪里来得?
  • java命名空间java.net类socket的类成员方法: gettrafficclass定义及介绍
  • socket编程 通过man socket, 没有找到socket函数的第一参数该填什么 怎样利用man手册


  • 站内导航:


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

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

    浙ICP备11055608号-3