网络
YanWenCheng_
日常总结
展开
-
负载均衡解析
你管这破玩意儿叫负载均衡? (qq.com)20 张图让你彻底掌握负载均衡的秘密! (qq.com)转载 2021-10-03 19:32:52 · 87 阅读 · 0 评论 -
c++中json的使用
//客户端程序#include<iostream>#include<string.h>#include<string>#include<json/json.h>#include<errno.h>#include<arpa/inet.h>using namespace std;int main(){ int...原创 2020-03-06 16:06:46 · 551 阅读 · 1 评论 -
libevent的使用
libevent的安装 libevent-2.0.21-stable.tar.gz 下载地址 :http://www.monkey.org/~provos/libevent/ PS:如果Linux下已经安装libevent库,则此处无需再安装,可以使用 # ls /usr/lib |grep libevent 看是否安装。 安装libevent# tar zxvf ...原创 2020-03-06 16:05:41 · 600 阅读 · 0 评论 -
UDP---广播的实现
服务器端:指定客户端为地址为.255的广播,端口号固定,给sfd给广播权限客户端:必须固定端口地址和服务器发送的广播端口一致;server: 1 #include<stdio.h> 2 #include<netinet/in.h> 3 #include<stdlib.h> 4 #include<unistd.h> 5 #inc...原创 2020-02-17 16:05:45 · 439 阅读 · 0 评论 -
UDP服务器与客户端的实现
UDP服务器传输层主要应用的协议模型有两种,一种是TCP协议,另外一种则是UDP协议。TCP协议在网络通信中占主导地位,绝大多数的网络通信借助TCP协议完成数据传输。但UDP也是网络通信中不可或缺的重要通信手段。相较于TCP而言,UDP通信的形式更像是发短信。不需要在数据传输之前建立、维护连接。只专心获取数据就好。省去了三次握手的过程,通信速度可以大大提高,但与之伴随的通信的稳定性和正确率便得...原创 2020-02-17 01:16:01 · 319 阅读 · 0 评论 -
epoll的ET模式与LT模式
LT一般默认模式 1 #include"wrap.h" 2 #include<errno.h> 3 #include<sys/epoll.h> 4 #define MAX_EVENT_NUM 1024 5 #define BUFF_SIZE 10 6 7 void delfd (int epollfd ,int fd) 8 { 9 ...原创 2020-02-10 16:50:59 · 167 阅读 · 0 评论 -
Linux网络编程中EAGAIN错误和EINTR错误
在Linux环境下开发经常会碰到很多错误(设置errno),其中EAGAIN是其中比较常见的一个错误(比如用在非阻塞操作中)。从字面上来看,是提示再试一次。这个错误经常出现在当应用程序进行一些非阻塞(non-blocking)操作(对文件或socket)的时候。例如,以O_NONBLOCK的标志打开文件/socket/FIFO,如果你连续做read操作而没有数据可读。此时程序不会阻塞起来等待数据...原创 2020-02-10 14:39:27 · 926 阅读 · 0 评论 -
IO复用----epoll的使用
三组函数(1)创建内核事件表只是给内核一个提示,事件表需要多大;返回值:内核事件表的文件描述符,可以理解为事件表红黑树的根;(2)对内核事件表的增删改操作注意epoll_event的结构;(3)等待事件发生第二个参数为已经就绪有事件发生的文件描述符集合**(与poll的区别就在此,poll只返回个数)**poll和epoll的区别代码epoll的使用 1 #inclu...原创 2020-02-09 18:40:29 · 165 阅读 · 0 评论 -
三次握手与四次挥手
三次握手当面试官问你为什么需要有三次握手、三次握手的作用、讲讲三次三次握手的时候,我想很多人会这样回答:首先很多人会先讲下握手的过程:1、第一次握手:客户端给服务器发送一个 SYN 报文。2、第二次握手:服务器收到 SYN 报文之后,会应答一个 SYN+ACK 报文。3、第三次握手:客户端收到 SYN+ACK 报文之后,会回应一个 ACK 报文。4、服务器收到 ACK 报文之后,三次握...转载 2020-02-09 18:08:06 · 128 阅读 · 0 评论 -
IO复用-----poll服务器的实现
poll#include <poll.h>int poll(struct pollfd *fds, nfds_t nfds, int timeout);struct pollfd { int fd; /* 文件描述符 */ short events; /*监控的事件 / short revents; / 监控事件中满足条件返回的事件 */};POLLIN ...原创 2020-02-02 18:42:17 · 113 阅读 · 0 评论 -
TCP状态装换和半关闭状态
TCP状态转换#include <sys/socket.h>int shutdown(int sockfd, int how);sockfd: 需要关闭的socket的描述符 how: 允许为shutdown操作选择以下几种方式:SHUT_RD(0): 关闭sockfd上的读功能,此选项将不允许sockfd进行读操作。该套接字不再接受数据,任何当前在套接字接受缓冲区的数据...原创 2020-02-01 18:18:30 · 279 阅读 · 0 评论 -
多线程并发服务器的简单实现
分析同多进程并发代码实现 1 //多线程服务器 2 #include"wrap.h" 3 #include<sys/types.h> 4 #include<sys/wait.h> 5 #include<pthread.h> 6 #define SERV_PORT 8888 7 //客户端的信息封装在一起,传给线程去处理 8 st...原创 2020-01-31 16:59:59 · 365 阅读 · 0 评论 -
多进程并发服务器简单实现
分析过程代码实现.server注意:wrap是自己封装网络编程的常用错误处理,避免主函数中太多判断逻辑不清; 1 #include"wrap.h" 2 #define SERV_PORT 8888 3 4 #include<sys/types.h> 5 #include<sys/wait.h> 6 void waitChild(int sig)...原创 2020-01-31 15:42:42 · 507 阅读 · 0 评论 -
socket服务器简易连接
1.socket:创建socket伪文件生成文件描述符fd2.bind: 给fd绑定端口和ip;3.listen;给当前socket设置最大客户端链接#include<stdio.h> 2 #include<stdlib.h> 3 #include<string.h> 4 #include<unistd.h> 5 #includ...原创 2020-01-28 20:34:46 · 644 阅读 · 0 评论 -
网络基础-----socket编程流程
公网----公网 直接访问公网—私网 NET映射私网—公网 NET映射私网----私网 NET映射,打洞机制(服务器)原创 2020-01-28 14:04:49 · 718 阅读 · 0 评论