Linux TCP 服务器

   前记:因项目的需求,需要写一个linux TCP服务器,首先想到的是拿来主意,于是翻出了工作十多年的各个项目的服务器,发现每个服务器都有点不合现在的需求,于是打算自己动手写一个,在写时发现有些基本的套接字的内容不太熟了,估计还是平时拿来主义影响了代码的动手能力,于是开始查找资料,发现很多资料或代码只能用来示例,用来做项目还是不行,于是准备自己写一个。方便后面还需要写TCP服务器时不需要到处查找资料。详细代码请订阅后私信入群获取。

当前项目的服务器因去掉了心跳,所以需要判断客服端是否已断开,当客服端断开后我们需要释放掉相关资源和反初始化,再次进行等待客服端的连接。代码的重心也就在客服端断开的判定和客服端断开后的资源释放和反初始化。因协议的问题,本项目的数据是没有协议头,并且不同指令的长度也不一样,因此在数据接收和处理上也是跟通用的具有协议头的方式有些差别。

 一、需要使用到的知识

1、SO_REUSEADDR:

重用本地地址。未设置此项前,若服务端开启后,又关闭,此时sock处于TIME_WAIT状态,与之绑定的socket地址不可重用,而导致再次开启服务端失败。经过setsockopt设置之后࿰

猜你喜欢

转载自blog.csdn.net/dreamliweiming/article/details/131718408
今日推荐