搜索
Ctrl K
计算机技术
学科知识库
生活
力扣
华为OD真题
豆瓣读书
计算机技术
A repository for computer technology articles
Asio
C
C++11新特性
C++性能优化
CMake
CPP
Clion
Linux
MySQL
Nginx
OS
Qt
Redis
STL
Tools
Vim
git
函数式编程
分布式
原子变量和内存模型
基础组件
并发编程
微服务
技术摘录
技术杂文
操作系统导论
数据结构与算法
模板元编程
深入理解计算机系统
源码剖析
网络编程
计算机组成原理
设计模式
不要用 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
#网络编程
主机字节序和网络字节序
在网络编程中,数据收发的过程中有自动转换机制,不需要程序员手动转换,只有向 sockadd_in 结构体成员变量填充数据时,才需要考虑字节序的问题
#网络编程
服务器应该设置SO_REUSEADDR选项
有些人,而且包括很多写书的人,都认为设置SO_REUSEADDR是很危险的,因为这样就允许创建相同的TCP四元组了,会引发问题。这种看法是不对的。在写网络服务器的时候,我们务必设置SO_REUSEADDR选项,这对我们有益无害
#网络编程
理解TCP的有序释放操作
有序释放的目的是确保两端都能在连接拆除之前收到所有来自其对等实体的数据
#网络编程
理解TCP的写操作
对 TCP 连接使用写操作时,最好将写操作理解成将数据复制到发生队列,并通知 TCP 此队列中有新数据的一种操作。实际上,写操作返回时,写操作写出的部分或全部数据可能还在排队等待传输,所以,此时不管是主机还是对等应用程序崩溃了,数据都会丢失
#网络编程
1
…
17
18
19
20
21
我
们
应
该
坚
守
正
确
的
道
路
,
而
不
是
看
似
正
确
的
道
路
,
可
有
太
多
不
深
思
的
人
误
入
歧
途
了
朋友
个人原创作品集
推荐机场(用多少买多少,不重置)
爱编程的大丙
杜老师说
第二学堂
清和
祈星海
太傅博客
今今今生
笨鸟教程
draveness
incredibuild
Tangly的学习笔记
KashiwaのBlog
deepin
鸟窝
文件转换免费网站
yihui
wpfx网盘分享
ArthurChiao's Blog
得物技术
火龙果
计算机技术学习笔记
kaito
筱晶IT知识库
wuli.wiki
skynet教程
分享Java+MySQL+Redis教程
libhv网络库教程
C++后端开发进阶教程
申请友链
账号
xiaoyangst
联系
| 由
Hexo
及
致远
驱动