![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
网络编程
文章平均质量分 81
浩澜大大
这个作者很懒,什么都没留下…
展开
-
并发与高并发(一)-缓存一致性
前言为什么需要CPU缓存?答:CPU的频率太快了,快到主存赶不上,这样在处理器时钟周期内,CPU常常要等待主存,浪费了资源。所以缓存的出现,是为了缓解CPU和内存之间速度不匹配的问题。(结构:cpu->cache->memory)主体概要 CPU高级缓存-缓存一致性(MESI协议)概念 带有高速缓存的CPU执行计算的流程 目前流行的多级缓存结构 MESI协议缓存状态 多核缓存协同操作 MESI优化和他们引入的问题 CP转载 2021-06-21 16:59:50 · 329 阅读 · 0 评论 -
epoll LT和ET 问题总结
EAGAIN或者EWOULDBLOC在一个非阻塞的socket上调用read/write函数, 返回EAGAIN或者EWOULDBLOCK(注: EAGAIN就是EWOULDBLOCK)从字面上看, 意思是:EAGAIN: 再试一次,EWOULDBLOCK: 如果这是一个阻塞socket, 操作将被block,perror输出: Resource temporarily unavailable总结:这个错误表示资源暂时不够,能read时,读缓冲区没有数据,或者write时,写缓冲区满了。遇到这种转载 2021-05-13 19:43:28 · 542 阅读 · 0 评论 -
linux 手动获取百度网页内容
三条指令exec 8<> /dev/tcp/www.baidu.com/80echo -e 'GET / HTTP/1.0\n' 1>& 8cat 0<& 8原创 2021-03-31 17:00:05 · 999 阅读 · 0 评论 -
epoll LT ET总结
epoll是Linux高效网络的基础,比如event poll(例如nodejs),是使用libev,而libev的底层就是epoll(只不过不同的平台可能用epoll,可能用kqueue)。epoll能够高效支持百万级别的句柄监听。epoll高效,是因为内部用了一个红黑树记录添加的socket,用了一个双向链表接收内核触发的事件。是系统级别的支持的:当某一进程调用epoll_create方法时,Linux内核会创建一个eventpoll结构体,这个结构体中有两个成员与epoll的使...转载 2021-01-27 17:53:32 · 137 阅读 · 1 评论 -
何为 ProtoBuf
前言之前在网络通信和通用数据交换等应用场景中经常使用的技术是 JSON 或 XML,而在最近的开发中接触到了 Google 的 ProtoBuf。在查阅相关资料学习 ProtoBuf 以及研读其源码之后,发现其在效率、兼容性等方面非常出色。在以后的项目技术选型中,尤其是网络通信、通用数据交换等场景应该会优先选择 ProtoBuf。自己在学习 ProtoBuf 的过程中翻译了官方的主要文档,一来当然是在学习 ProtoBuf,二来是培养阅读英文文档的能力,三来是因为 Google 的文档?不存在的转载 2021-01-27 16:14:57 · 143 阅读 · 0 评论