网络
文章平均质量分 73
Hello,C++!
这个作者很懒,什么都没留下…
展开
-
windows iocp适配epoll
windows iocp适配epoll。原创 2022-08-29 18:20:11 · 1260 阅读 · 0 评论 -
如何高效的传输文件 -- 零拷贝技术
第二,高并发下传输大文件,我们上文提到过,大文件难以命中 PageCache 缓存,又带来额外的内存拷贝,同时还挤占了小文件使用 PageCache 时需要的内存,因此,这时应该使用直接 IO。通常,你会选择最直接的方法:从网络请求中找出文件在磁盘中的路径后,如果这个文件比较大,假设有 320MB,可以在内存中分配 32KB 的缓冲区,再把文件分成一万份,每份只有 32KB,这样,从文件的起始位置读入 32KB 到缓冲区,再通过网络 API 把这 32KB 发送到客户端。当然,直接 IO 也有一定的缺点。转载 2022-08-23 14:55:25 · 906 阅读 · 0 评论 -
系统如何实现高并发服务 -- 协程的原理及实现
上一讲谈到,零拷贝通过减少上下文切换次数,提升了文件传输的性能。事实上高并发服务也是通过降低切换成本实现的,这一讲我们来看看它是如何做到的。如果你需要访问多个服务来完成一个请求的处理,比如实现文件上传功能时,首先访问 Redis 缓存,验证用户是否登陆,再接收 HTTP 消息中的 body 并保存在磁盘上,最后把文件路径等信息写入 MySQL 数据库中,你会怎么做?用阻塞 API 写同步代码最简单,但一个线程同一时间只能处理一个请求,有限的线程数导致无法实现万级别的并发连接,过多的线程切换也抢走了 CPU转载 2022-08-23 14:03:07 · 523 阅读 · 0 评论 -
网络编程一些问题总结
只要有listen执行,服务器就可以完成跟客户端的三次握手,然后将客户端的fd放到SYNC半连接队列中,等待accept执行中从SYNC半连接队列中取出放到Accept全连接队列。首先判断是否有新的客户端连接,如果没有这个事件,那就调用for循环,从非listenfd开始遍历(客户端的fd大小时根据连接的先后递增的)到最大的(最新)客户端fd,然后判断每个连接的可读和可写事件。DDOS攻击:客户端只发送SYN信号,不给服务器回复ACK信号,三次握手只进行第一步,会导致服务器的syn半连接队列溢出。...原创 2022-08-20 18:18:36 · 1050 阅读 · 0 评论 -
epoll与reactor浅析
边沿触发:当buffer从没有数据到有数据的这个时间点触发,除非buffer再恢复到从无到有数据的过程,否则不再触发(只有从地平面到高平面的瞬间才触发)。水平触发:有数据在buffer缓存就会一直触发,直到用户取完数据才结束。(高平面一直触发,地平面不触发).........原创 2022-08-18 22:53:06 · 301 阅读 · 0 评论 -
wireshark抓包KCP包
https://www.likecs.com/show-205307389.htmlhttps://blog.huati365.com/72573c5a8dcdf333原创 2022-08-17 23:28:24 · 678 阅读 · 0 评论 -
listen函数backlog参数的一点探讨
今年上半年的时候, 因为自己工作的失误, 导致程序的TCP三次握手非常缓慢, 存在大量syn_recv状态连接. 查了很多资料(尤其是listen的相关资料)都无法完美解决问题, 虽然调大了backlog参数, 但是连接数达到一定值(backlog)后, 三次握手同样非常缓慢. 后面才发现是自己代码的原因, 具体来讲, 就是我那部分代码阻塞了进程, 相当于sleep了下(虽然不是真的sleep). 后面我把这部分代码给删除了, 程序恢复了正常..........转载 2022-08-15 19:16:48 · 585 阅读 · 0 评论 -
通信之listen函数
第一个参数sockfd为创建socket返回的。第二个参数backlog为建立好连接处于ESTABLISHED状态的的长度。转载 2022-08-15 18:19:20 · 1507 阅读 · 0 评论 -
epoll分析
网络原创 2022-06-29 09:51:02 · 302 阅读 · 0 评论 -
如何在关闭socket连接的时候跳过TIME_WAIT的等待状态
网路原创 2022-06-28 09:23:32 · 778 阅读 · 0 评论 -
QUIC-HTTP/3介绍
HTTP转载 2022-06-24 19:54:08 · 1221 阅读 · 1 评论 -
TCP如何处理三次握手和四次挥手期间的异常
网络转载 2022-06-24 19:46:25 · 643 阅读 · 0 评论 -
自己总结的wireshark抓包技巧
wireshark原创 2022-06-23 16:36:02 · 4234 阅读 · 0 评论 -
muduo 与 boost asio 吞吐量对比
muduo转载 2022-06-18 16:40:33 · 378 阅读 · 0 评论 -
实战!我用“大白鲨”让你看见 TCP
网络转载 2022-06-17 11:32:46 · 296 阅读 · 0 评论 -
你还在为 TCP 重传、滑动窗口、流量控制、拥塞控制发愁吗?看完图解就不愁了
网络转载 2022-06-17 10:38:03 · 154 阅读 · 0 评论 -
wireshark学习
1、好的学习视频地址:https://www.bilibili.com/video/BV1B5411h7t4?p=6&spm_id_from=pageDriver2、Wireshark自动分析:单击Analyze→Expert Information可以看到不同级别的提示,如重传统计,连接建立和重置统计3、单击Statistics→Service Response Time选定协议名称,可以得到响应时间统计。4、单击Statistics→TCP Stream Graph5、单击St原创 2021-11-22 01:23:26 · 711 阅读 · 0 评论 -
Wireshark分析流量包案例
原文地址:https://blog.csdn.net/mcmuyanga/article/details/114524270wireshark抓包工具常用筛选命令方法测试文件:https://pan.baidu.com/s/1QuMdefZHSqlaLSHaMVGb4w提取码:tmjs1、使用Wireshark查看并分析attack.pcapng数据包文件,通过分析数据包attack.pcapng找出黑客的IP地址,并将黑客的IP地址作为FLAG(形式:[IP地址])提交:解:首先筛选一下ht转载 2021-11-22 21:07:49 · 3675 阅读 · 0 评论 -
linux服务器抓包实例
1、输入ifconfig,查看linux服务器网卡和ip2、安装tcpdump3、例子:抓取网卡eht0 及192.168.168.18ip和8081端口tcpdump -i eht0 -w file.cap host 192.168.168.18 and tcp port 8081;-w :参数指定将监听到的数据包写入文件中保存,file.cap就是该文件。-i :参数指定tcpdump监听的网络界面。抓取到文件之后我将文件传到我的windows上面,这里就涉及到一个如何打开cap原创 2021-03-30 10:39:37 · 3011 阅读 · 0 评论 -
硬不硬你说了算!近 40 张图解被问千百遍的 TCP 三次握手和四次挥手面试题
网络转载 2022-06-17 10:13:25 · 72 阅读 · 0 评论 -
TCP流量控制和拥塞控制的区别
网络转载 2022-06-17 10:06:59 · 4539 阅读 · 0 评论 -
Linux-TCP 出现 RST 的几种情况
网络转载 2022-06-16 17:12:15 · 3790 阅读 · 0 评论 -
TCP 半连接队列和全连接队列满了会发生什么?又该如何应对?
网络转载 2022-06-16 14:51:28 · 1588 阅读 · 0 评论 -
面试官:换人!他连 TCP 这几个参数都不懂
网络转载 2022-06-16 14:16:39 · 124 阅读 · 0 评论 -
(八):应用Wireshark过滤条件抓取特定数据流
网络转载 2022-06-14 15:21:25 · 1370 阅读 · 0 评论 -
(七):Statistics统计工具功能详解与应用
网络转载 2022-06-14 15:19:43 · 974 阅读 · 0 评论 -
(六):狙击网络高延时点
网络转载 2022-06-14 15:18:16 · 115 阅读 · 0 评论 -
(五):TCP窗口与拥塞处理
网络转载 2022-06-14 15:16:08 · 569 阅读 · 0 评论 -
(四):网络性能排查之TCP重传与重复ACK
网络转载 2022-06-14 15:14:23 · 2505 阅读 · 0 评论 -
(三):应用Wireshark IO图形工具分析数据流
网络转载 2022-06-14 15:12:00 · 1495 阅读 · 0 评论 -
Wireshark网络抓包(一)——数据包、着色规则和提示
网络转载 2022-06-14 15:02:21 · 1934 阅读 · 0 评论 -
面试必备!TCP协议经典十五连问!
网络转载 2022-06-13 14:10:19 · 3582 阅读 · 1 评论 -
一线互联网大厂面试关于TCP连接的相关问题
网络转载 2022-06-13 14:03:33 · 123 阅读 · 0 评论 -
TCP分包
网络转载 2022-06-13 13:55:00 · 1396 阅读 · 0 评论 -
libcurl进行post
libcurl进行postmain函数,初始化和清理curl// 全局初始化curlcurl_global_init(CURL_GLOBAL_ALL); std::string url = "http://xxxx";std::string postParams = "aa=33&bb=33";std::string response;curl_post_req("http://sss", "aa=33&bb=33", response);// 程序结束前清理curl转载 2020-07-10 16:12:49 · 1233 阅读 · 0 评论 -
提高网络效率方法
1、使用长连接(keepalive)代替短连接以减少建立、关闭连接带来的网络交互2、使用压缩算法来增加相同吞吐量下的信息携带量,3、使用缓存来减少网络交互次数原创 2022-01-10 15:47:45 · 530 阅读 · 0 评论 -
击鼓传花:对比 muduo 与 libevent2 的事件处理效率
网络转载 2022-06-12 15:43:59 · 540 阅读 · 0 评论 -
常见网络延迟测量方法
网络延迟原创 2022-06-12 14:28:25 · 10436 阅读 · 0 评论 -
使用netwox/TCP协议检测网络性能
网络原创 2022-06-12 13:30:00 · 566 阅读 · 0 评论 -
UDP如何实现可靠传输
概述UDP不属于连接协议,具有资源消耗少,处理速度快的优点,所以通常音频,视频和普通数据在传送时,使用UDP较多,因为即使丢失少量的包,也不会对接受结果产生较大的影响。传输层无法保证数据的可靠传输,只能通过应用层来实现了。实现的方式可以参照tcp可靠性传输的方式,只是实现不在传输层,实现转移到了应用层。最简单的方式是在应用层模仿传输层TCP的可靠性传输。下面不考虑拥塞处理,可靠UDP的简单设......原创 2019-05-15 18:16:54 · 5150 阅读 · 0 评论