linux
彭朝劲
这个作者很懒,什么都没留下…
展开
-
计算UTF8字符串长度-c代码
计算UTF8字符串长度-c代码原创 2023-05-15 09:05:27 · 529 阅读 · 0 评论 -
c语言线性列表源代码
C语言编程,经常需要使用线性列表,期望能够高效的使用下标访问列表元素,内部内存管理,方便的动态添加、删除元素,排序等。原创 2023-03-24 08:48:29 · 189 阅读 · 0 评论 -
轻松排查linux应用程序内存泄漏点
快速定位内存泄漏点原创 2022-11-30 19:53:44 · 1134 阅读 · 0 评论 -
Linux socket编程的“坑点”-客户端
一、Linux socket编程的框架。 Linux系统内建了TCP/IP协议栈,套接字网络编程只需要调用相关的API接口。在服务器端,创建套接字、设置套接字选项(可选)、绑定网络参数后,就可以监听客户端的连接请求,等待客户端连接进来。在客户端,创建套接字、设置套接字选项(可选)、初始化IP、端口号等网络参数后,就可以连接服务器,如果服务器接受连接,就可以进行双向数据通讯,过程如下图所示。 二、几个重要的“坑点”与解决办法。 心跳包应该采用主动式。教科书建议的都是被动式心跳,判断网...原创 2021-09-27 17:02:15 · 198 阅读 · 0 评论 -
Linux socket编程的“坑点”-服务器篇(附完整的C源代码)
Linux socket编程中隐含一些“坑点”,写代码时需要注意回避。这些坑点有: 一、心跳包应该采用主动式。教科书建议的都是被动式心跳,判断网络是否断开是通过接收心跳包是否超时来判断。主动式心跳是通过心跳包发送是否成功来判断。因为要兼顾网络繁忙造成的延时,被动式心跳需要2-3次心跳周期没有收到心跳包才会确认是网络断开,需要时间长,一般是5-10秒。主动式心跳只要有一次没有发送成功,就可以确认网络断开,需要时间短,一般3秒内。相关代码如下: void SendHeart(SOCK_QUEUE *lpS原创 2021-08-20 17:46:05 · 244 阅读 · 0 评论