网络编程
文章平均质量分 74
Tw!light
这个作者很懒,什么都没留下…
展开
-
网络协议之UDP数据包
参照上篇一起阅读更佳:[网络协议之TCP/IP协议包](https://blog.csdn.net/qq_31930499/article/details/109261186)文章目录UDP为什么不粘包UDP分片UDP发送最大数据包大小UDP为什么不粘包为什么TCP有粘包,UDP没有粘包?TCP是面向流连接,数据的“粘包”问题:客户端发送的多个数据包使用了优化算法(Nagle算法),将多次间隔较小、数据量小的数据包,合并成一个大的数据包发送(把发送端的缓冲区填满一次性发送);接收端底层会把TCP原创 2020-11-28 16:49:36 · 2414 阅读 · 0 评论 -
网络协议之TCP/IP协议包
OSI各层数据包从上图可知,从应用层到传输层到网络层再到数据链路层,数据包经过一层一层的包装。MTUMTU(最大传输单元)指的是IP协议封装的大小最大值,理论上这个值的大小是2^16=65536,但是通常与通信接口有关(网卡,串口等)。但是IP协议的最外层还有数据链路层封装,该层头部14个字节,尾部4个字节。不同的网络MTU的值不同,参考如下:最常见的就是以太网。MTU查看命令: netstat -in所以最大帧:MTU(一般为1500) + 数据两路层帧头部14字节 + 数据两路层帧原创 2020-10-24 16:25:53 · 1291 阅读 · 0 评论 -
使用Go和C实例来探究Linux TCP之listen backlog
最近在看Go语言的tcp连接,由于涉及知识很多很杂,先零零碎碎记录一些,日后在整理。目录理论测试c语言版本Go语言版本总结参考文章理论有关TCP三次握手和传输数据作者之前也写过一篇,可以也阅读一下。Go语言中TCP、UDP都在net库里面封装好了,对应底层调用的函数都是Linux系统函数。这里我们主要关注TCP协议中listen函数中backlog参数。...原创 2019-11-13 16:07:40 · 1428 阅读 · 0 评论 -
回调函数 同步回调 异步回调
目录回调函数同步回调和异步回调同步回调异步回调回调函数回调函数一般是在封装接口的时候,回调显得特别重要,我们首先假设有两个程序员在写代码,A程序员写底层驱动接口,B程序员写上层应用程序,然而此时底层驱动接口A有一个数据d需要传输给B,此时有两种方式:A将数据d存储好放在接口函数中,B自己想什么时候去读就什么时候去读,这就是我们经常使用的函数调用,此时主动权是B。 ...原创 2018-06-11 16:56:34 · 10180 阅读 · 4 评论 -
阻塞 非阻塞 同步 异步
在学习高并发编程的时候,在搞清楚并发编程中使用多线程、多进程和 I/O复用的区别时,发现自己对阻塞、非阻塞和同步、异步理解还不是很了解。所以本节是针对阻塞、非阻塞和同步、异步的学习。先举例说明下面来自知乎上面的一个回答:老张爱喝茶,废话不说,煮开水。出场人物:老张,水壶两把(普通水壶,简称水壶;会响的水壶,简称响水壶)。1 老张把水壶放到火上,立等水开。(同步阻塞)老张觉得自己...原创 2018-06-10 17:21:15 · 555 阅读 · 0 评论 -
使用WireShark探究TCP传输过程
因为最近在搞OpenSSL加密通信,想看看加密传输的数据和不加密传输的数据有什么不同,所以就使用WireShark抓包软件一探究竟。突然发现WireShark抓包太强了,能清楚的看到TCP三次握手过程和数据传输过程,这也是这篇Blog的重点。目录不加密TCP传输加密TCP传输扩展前提提醒:因为测试程序是公司的程序代码,所以不再提供(之后可能出一篇使用OpenSSL加密通信编...原创 2019-06-29 17:27:38 · 1239 阅读 · 0 评论 -
业余网络知识杂记
周末在家无聊,突然想到昨天在公司跟同事聊天的时候说到内网和公网,自己看似知道却不是很清楚,所以今天在网上搜索了一番,牵引这么多业余知识,并将其记录。(1)ADSL是什么? 通常我们家拉的电信或者网通的网线通常都称之为adsl上网,我们习惯称为adsl拨号上网。其实,也就是一根电话线,然后电话线经过ADSL终端(因为和传统的调制解调器(Modem)类似,所以也被称为“猫”来连接...原创 2018-05-26 18:40:44 · 344 阅读 · 0 评论