Linux网络编程
文章平均质量分 87
网络编程
东方欲晓w
你若不勇敢,谁替你坚强。
展开
-
SQLite3 操作命令以及c/c++编程API和例子
。。导出完整的数据库在一个文本文件中:。所有的SQL语句都是使用分号结尾,不区分大小写,两个减号“--”代表注释。原创 2023-09-11 19:18:27 · 969 阅读 · 0 评论 -
Linux Shell 脚本语法以及常用命令
Linux Shell 脚本语法以及常用命令原创 2023-09-05 10:44:12 · 1181 阅读 · 0 评论 -
Linux网络编程Socket通信6-Libevent移植与使用
对I/O事件、信号和定时事件提供统一的处理。事件驱动、高性能、轻量级、专注于网络、跨平台、支持多种I/O多路复用技术、支持I/O,定时器和信号事件、注册事件优先级。bufferevent 是 libevent 中的一个事件缓冲 IO,内部实现了基本 socket recv/send 操作 ,用户只需要调用 bufferevent 的 API 即可实现数据的读写。创建好libevent_base根节点后,需要等待事件的产生,也就是等待想要等待的事件的激活,在libevent中提供了对应的接口,类似。原创 2023-08-30 20:13:48 · 463 阅读 · 0 评论 -
Linux网络编程Socket通信5-UDP/domain
unix domain socket 本地套接字通信,全双工。套接字用文件来标识。这个文件在绑定之前是不能存在的。对于文件客户端可以使用隐式绑定,但是服务器不可以。原创 2023-08-09 10:57:38 · 319 阅读 · 0 评论 -
Linux网络编程Socket通信4-poll/epoll/reator/threadpoll
select 跨平台, poll 没有1024文件描述符的限制,缺点也很明显,每次监听都需要将监听到的信息从应用层拷贝到内存,返回变化的文件描述符的个数,具体那个文件描述符需要遍历,大量并发、少量活跃效率比较低。创建一定数量的线程,和一个任务队列,线程池中的线程不停的去任务队列中取任务,又任务到来直接往任务队列中添加。epoll 优点:没有1024文件描述符的限制,下次监听不需要将需要监听的文件描述符从应用层再次拷贝到内核,返回的是已经变化的文件描述符,不需要遍历,大量并发,少量活跃效率高。原创 2023-08-09 10:53:40 · 323 阅读 · 0 评论 -
linux网络编程socket通信2
原理:原函数和包裹函数的函数名差异只有首字母大写,这是因为man page对字母大小写不敏感,同名的包裹函数一样可以跳转至man page , 新包裹需要检查返回值的函数,让代码不那么肥胖。在接收和发送数据时个人设计一个守护进程(线程),定时发送Heart-Beat包,客户端/服务器收到该小包后,立刻返回相应的包即可检测对方是否实时在线。为了实时检测查询的链接状态,常用的方法就是加入心跳机制。原创 2023-03-03 21:01:37 · 501 阅读 · 0 评论 -
linux网络编程socket通信3-select
缺点:文件描述符1024限制,受到FD_SETSIZE的限制、只是返回文件描述符的个数,具体那个需要遍历。多路IO复用:内核监听多个文件描述符的属性(读和写缓冲区)变化,poll、epoll、select。应用层通过内核select监听各个文件描述符,对于应用层的文件描述符集合我们最好需要备份一下,如果有某个文件的读缓冲区发生了变化,那么这个时候就可以读了,将这个事件告知我们的应用层。使用数组保存监听lfd后,Accept产生的cfd,在遍历监听该数组即可。之前的文件描述符合集。原创 2023-03-20 09:43:34 · 186 阅读 · 0 评论 -
Linux网络编程socket通信1
三次握手: 主动发起连接请求端,发送 SYN 标志位,请求建立连接。携带序号号、数据字节数(0)、滑动窗口大小。 被动接受连接请求端,发送 ACK 标志位,同时携带 SYN 请求标志位。携带序号、确认序号、数据字节数(0)、滑动窗口大小。 主动发起连接请求端,发送 ACK 标志位,应答服务器连接请求。携带确认序号。四次挥手: 主动关闭连接请求端, 发送 FIN 标志位。 被动关闭连接请求端, 应答 ACK 标志位。----- 半关闭完成。 被动关闭连接请求端, 发送 FIN 标志位。原创 2023-01-29 16:23:55 · 297 阅读 · 0 评论