当客户端保持着与服务器端的连接,这时服务器端断开,再开启服务器时会出现: Address already in use,可以用netstat -anp | more 可以看到客户端还保持着与服务器的连接(还在使用服务器bind的端口)。这是由于client没有执行close,连接还会等待client的FIN包一段时间。解决方法是使用setsockopt,使得socket可以被重用,是最常用的服务器编程要点。具体的做法为是,在socket调用和bind调用之间加上一段对socket的设置:

   int opt = 1;setsockopt(socket_fd,SOL_SOCKET,SO_REUSEADDR,&opt,sizeof(opt));

Linux下Socket编程:bind().Address already in use的解决方法相关推荐

  1. Linux下Socket编程

    Linux下Socket编程    网络的Socket数据传输是一种特殊的I/O,Socket也是一种文件描述符.Socket也具有一个类似于打开文件的函数调用Socket(),该函数返回一个整型的S ...

  2. 一文了解linux下socket编程

    一文了解linux下socket编程 文章目录 一文了解linux下socket编程 1 网络编程的相关简述 1.1 引言 1.2 Tcp和Udp简介 1.3 TCP三次握手和四次挥手 1.4 网络编 ...

  3. LINUX下Socket编程 函数格式详解

    你需要了解的一些系统调用: socket() bind() connect() listen() accept() send() recv() sendto() recvfrom() close() ...

  4. linux下socket编程读写函数

    linux下socket编程,实现服务器与客户端的通信之后,在同一个虚拟机上,打开两个shell,一个运行服务器程序,一个运行客户端程序,课相互发送数据. 如果使用的是recv接收函数,当关闭客户端或 ...

  5. Linux下MySql出现#1036 – Table ‘ ‘ is read only 错误解决方法

    Linux下MySql出现#1036 – Table ' ' is read only 错误解决方法 参考文章: (1)Linux下MySql出现#1036 – Table ' ' is read o ...

  6. linux下java.lang.NoClassDefFoundError: org/bouncycastle/jce/provider/BouncyCastleProvider解决方法

    linux下java.lang.NoClassDefFoundError: org/bouncycastle/jce/provider/BouncyCastleProvider解决方法 参考文章: ( ...

  7. [zz]Linux 下 socket 编程示例

    本示例为 Client/Server 结构,通过代码演示 Client 如何建立连接,并向远程端发送数据:Server 端如何侦听系统连接请求,接收请求并建立连接,进而获取客户端发来的数据.代码虽短, ...

  8. linux下socket编程中setsockopt的作用

    如题所示,在linux进行socket编程的时候,一般而言,socket,bind,listen三步曲之后,就开始接收客户端请求,然后实现收发数据. 如下所示的代码,是没有setsockopt的情况: ...

  9. C++服务器(一):了解Linux下socket编程

    最近想要用C++写个socket的服务器,用于日常的项目开发. 不过,我是新手,那就慢慢地学习一下吧. 首先,先写一段程序,用起来先. 感谢博文: Linux下 C++调用C 实现socket网络通讯 ...

最新文章

  1. [敏捷开发实践](2) 用于开发和维持复杂产品的敏捷开发框架Scrum
  2. 整理了一下Asp.net源码常见问题(完善中...),欢迎大家补充修正(最后更新于06-01)!...
  3. JDK10 EA版特性速览
  4. Linux驱动之LCD驱动编写
  5. 何恺明团队最新力作SimSiam:消除表征学习“崩溃解”,探寻对比表达学习成功之根源...
  6. 【前端词典】和媳妇讲代理后的意外收获
  7. TImm 笔记: 训练模型
  8. [scala-spark]8. RDD的实现和编程接口
  9. MFC模块的动态链接库DLL以及静态链接库LIB编译后的调用
  10. 雷辉:让视频会议conferencing like TV
  11. html php获取post数据格式,html - php文件无法得到POST过来的数据
  12. MySQL的存储过程和函数简单写法
  13. laydate根据开始时间或者结束时间限制范围
  14. java中文文档官方下载
  15. 首届 “女生科技体验节” 大爆料!
  16. GEE学习总结(3)——矢量面外接矩形和外包络面绘制与矢量数据导出
  17. 2020全国地图矢量数据gis地图数据(下载获取支持)
  18. 杭州电子科技大学java刷题_杭州电子科技大学的OJ
  19. 多张图片合成一张图片
  20. python爬虫网页崩溃怎么处理_《Python网络爬虫》1.2 爬取网页的异常处理

热门文章

  1. 软件创新实验室:微信小程序开发——介绍
  2. 微信企业服务商如何自建代开发应用
  3. 如何从Windows的“无法验证发布者”中解除阻止文件警告
  4. 如何自动执行多个批处理命令
  5. 基于51单片机的红外智能垃圾桶原理图程序设计
  6. 怎样防止苹果系统更新_苹果手机如何不更新系统
  7. TDateTime 日期时间值的比较
  8. 2021-07-11【黄金趋势分析】黄金、原油、白银价格涨跌操作建议
  9. 黑苹果-IOS学习的开始
  10. linux中运行yarn命令,在CentOS 8系统下安装和使用Yarn的方法