搜索
Ctrl K
计算机技术
生活
力扣
豆瓣读书
#网络编程
第四章:逻辑层设计
这一刻,我们就完成单线程的可提供服务的服务器了。完善下消息体,网络和计算工作的解耦合,服务器优雅退出,实在期待后面多线程的引入,我们将一步一步走向高性能服务器
#网络编程
#Asio
第三章:粘包和反序列化
本节介绍高性能网络编程中必须面临且要解决的问题,建议细致阅读,若有表述错误,欢迎指正,这里面有太多逻辑上的分析了
#网络编程
#Asio
第二章:同步和异步
异步编程是实现高性能服务器的基础,但要解决的困难和代码的复杂度就高很多,后续所有内容都是基于异步编程展开
#网络编程
#Asio
第一章:Asio 建立网络连接基本 API
只涉及让客户端和服务端建立连接,数据通信会在第二章讲解,即同步和异步两种方式
#网络编程
#Asio
不要用 TIME-WAIT暗杀来关闭一条连接
不幸的时,TIME-WAIT 状态可以被提前终止,这被称为 TIME-WAIT 暗杀。它可能时“碰巧”产生的,也可能是故意造成的。不管是哪种情况,提前终止 TIME-WAIT 状态 都是不明智的
#网络编程
使用前将结构sockaddr_in清零
因为必须要将 sin_zero 清零,所以在使用之前,将整个地址结构清零就成了一种惯常的做法。通过这种方式,可以清除所有其它字段,而且还可以避免于未正式说明的字段及用法发送可能的冲突
#网络编程
不要低估 TCP 的性能
我们预计,应用程序中仅包含简单的请求/应答会话时,UDP 的性能会比 TCP 好,当连接持续的时间很长,并且传输了大量数据时,TCP 的性能会比 UDP 好得多。实际情况中,还需要各写一份代码进行测试
#网络编程
高并发、高可用和高性能
通过此文弄清楚网络中常见的高并发、高可用和高性能的概念
#网络编程
水平触发和边缘触发
很多时候你没有理解水平触发和边缘触发的区别,那是没有具体实践导致的,本文通过实际的现象和解释来讲清楚二者的区别
#网络编程
网络编程中结构体的区分
sockaddr 结构体是为了统一地址结构的表示方法,统一接口函数,但是这个结构体并不方便使用,因此定义了等价的 sockaddr_in 结构体,它的大小和 sockaddr 结构体相同,可以强制转换成 sockaddr。因此,在实际的网络编程中,先定义 sockaddr_in结构体把相关信息存储之后,再强制转换成 sockaddr,毕竟提供的API接受的类型是 sockaddr
#网络编程
1
2
3
我
们
应
该
坚
守
正
确
的
道
路
,
而
不
是
看
似
正
确
的
道
路
,
可
有
太
多
不
深
思
的
人
误
入
歧
途
了
朋友
个人原创作品集
推荐机场(用多少买多少,不重置)
极客兔兔
Rainer Grimm(并发编程)
爱编程的大丙
谭升的博客
杜老师说
第二学堂
清和
祈星海
太傅博客
今今今生
笨鸟教程
draveness
incredibuild
Tangly的学习笔记
KashiwaのBlog
deepin
鸟窝
文件转换免费网站
yihui
wpfx网盘分享
ArthurChiao's Blog
得物技术
火龙果
计算机技术学习笔记
kaito
筱晶IT知识库
wuli.wiki
skynet教程
分享Java+MySQL+Redis教程
libhv网络库教程
C++后端开发进阶教程
申请友链
账号
Github
哔哩哔哩
联系
| 由
Hexo
及
致远
驱动