随笔分类 -  Linux网络编程

摘要:http协议 请求协议: 浏览器组织,发送GET /hello.c Http1.1\r\n Host: localhost:2222\r\n User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:24.0) Gecko/201001 01 Fire 阅读全文
posted @ 2022-03-08 16:38 蘑菇王国大聪明 阅读(172) 评论(0) 推荐(0) 编辑
摘要:服务器端 libevent 创建TCP连接: 创建event_base 创建bufferevent事件对象。bufferevent_socket_new(); 使用bufferevent_setcb() 函数给 bufferevent的 read、write、event 设置回调函数。 当监听的 事 阅读全文
posted @ 2022-03-08 16:27 蘑菇王国大聪明 阅读(349) 评论(0) 推荐(0) 编辑
摘要:安装 开源。精简。跨平台(Windows、Linux、maxos、unix)。专注于网络通信。 源码包安装: 参考 README、readme ./configure 检查安装环境 生成 makefile make 生成 .o 和 可执行文件 sudo make install 将必要的资源cp置系 阅读全文
posted @ 2022-03-08 16:19 蘑菇王国大聪明 阅读(76) 评论(0) 推荐(0) 编辑
摘要:概念 IPC: pipe、fifo、mmap、信号、本地套(domain) CS模型。 对比网络编程 TCP C/S模型, 注意以下几点: 本地套接字对比网络套接字 代码 server.c #include <stdio.h> #include <unistd.h> #include <sys/so 阅读全文
posted @ 2022-03-08 14:49 蘑菇王国大聪明 阅读(51) 评论(0) 推荐(0) 编辑
摘要:思路 recv()/send() 只能用于 TCP 通信。 替代 read、write accpet(); Connect(); 被舍弃 server: lfd = socket(AF_INET, STREAM, 0); SOCK_DGRAM 报式协议。 bind(); listen(); 可有可无 阅读全文
posted @ 2022-03-08 14:42 蘑菇王国大聪明 阅读(50) 评论(0) 推荐(0) 编辑
摘要:TCP 面向连接的,可靠数据包传输。对于不稳定的网络层,采取完全弥补的通信方式。 丢包重传。 优点:稳定。数据流量稳定、速度稳定、顺序 缺点:传输速度慢。相率低。开销大。 使用场景:数据的完整型要求较高,不追求效率。大数据传输、文件传输。 UDP 无连接的,不可靠的数据报传递。对于不稳定的网络层,采 阅读全文
posted @ 2022-03-08 14:28 蘑菇王国大聪明 阅读(236) 评论(0) 推荐(0) 编辑
摘要:线程池 线程池代码 #include <stdlib.h> #include <pthread.h> #include <unistd.h> #include <assert.h> #include <stdio.h> #include <string.h> #include <signal.h> 阅读全文
posted @ 2022-03-07 18:37 蘑菇王国大聪明 阅读(14) 评论(0) 推荐(0) 编辑
摘要:![image](https://img2022.cnblogs.com/blog/2411020/202203/2411020-20220307172852290-1981987439.png) 阅读全文
posted @ 2022-03-07 17:39 蘑菇王国大聪明 阅读(15) 评论(0) 推荐(0) 编辑
摘要:epoll介绍 本质是一个红黑树,epfd是红黑树的根,然后挂子节点 epoll所需函数 int eopll_create(int size) size:创建的红黑树的监听节点数量。(仅供内核参考) 返回值:指向新创建的新红黑数的根节点epfd,失败就-1 int eopll_ctl(int epf 阅读全文
posted @ 2022-03-06 13:04 蘑菇王国大聪明 阅读(128) 评论(0) 推荐(0) 编辑
摘要:![image](https://img2022.cnblogs.com/blog/2411020/202203/2411020-20220306100847431-448980419.png) 阅读全文
posted @ 2022-03-06 10:09 蘑菇王国大聪明 阅读(19) 评论(0) 推荐(0) 编辑
摘要:poll函数原型 三个分别是:待监听的文件描述符、待监听的文件描述符对应的监听事件、传入时给0,如果满足对应事件的话返回非0, nfds:监听数组的实际有效的监听个数 超时时长:单位毫秒 代码 /**************************************************** 阅读全文
posted @ 2022-03-05 19:19 蘑菇王国大聪明 阅读(91) 评论(0) 推荐(0) 编辑
摘要:多路IO转接服务器 select函数参数 select相关函数 select实现多路IO转接服务器 /************************************************************************* > File Name: server.c > A 阅读全文
posted @ 2022-03-04 19:58 蘑菇王国大聪明 阅读(102) 评论(0) 推荐(0) 编辑
摘要:高并发服务器 多进程并发服务器 多线程并发服务器 多进程并发服务器实现 server.c #include <stdio.h> #include <string.h> #include <netinet/in.h> #include <arpa/inet.h> #include <signal.h> 阅读全文
posted @ 2022-03-04 16:19 蘑菇王国大聪明 阅读(58) 评论(0) 推荐(0) 编辑
摘要:wrap.c #include <stdlib.h> #include <stdio.h> #include <unistd.h> #include <errno.h> #include <sys/socket.h> void perr_exit(const char *s) { perror(s) 阅读全文
posted @ 2022-03-04 12:10 蘑菇王国大聪明 阅读(41) 评论(0) 推荐(0) 编辑
摘要:socket套接字 网络字节序 小端法存储,高位存高地址,地位存低地址。网络字节序是大端法: sockaddr地址结构 socket模型 客户端和服务端进行通信的时候会有3个socket socket()和bind()函数 listen()和accept()函数 accept()阻塞等待客户端进行连 阅读全文
posted @ 2022-03-03 20:24 蘑菇王国大聪明 阅读(46) 评论(0) 推荐(0) 编辑
摘要:协议 分层模型 网络传输数据封装流程 以太网帧协议和ARP 目的地址和源地址是MAC地址 ARP数据格式如下: ip格式 BS和CS模型 阅读全文
posted @ 2022-03-03 17:04 蘑菇王国大聪明 阅读(6) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示