12、连接无效:使用Keep、Alive还是应用心跳来检测你好,我是盛延敏,这里是网络编程实战第12讲,欢迎回来。 上一篇文章中,我们讲到了如何使用close和shutdown来完成连接的关闭,在大多数情况下,我们会优选shutdown来完成对连接一个方向的关闭,待对端处理完之后,再完成另外一个方向的关闭。...2026-03-01网络编程实战
13、小数据包应对之策:理解TCP协议中的动态数据传输你好,我是盛延敏,这里是网络编程实战第13讲,欢迎回来。 在上一篇文章里,我在应用程序中模拟了TCP Keep-Alive机制,完成TCP心跳检测,达到发现不活跃连接的目的。在这一讲里,我们将从TCP角度看待数据流的发送和接收。 如果你学过计算机网络...2026-03-01网络编程实战
14、UDP也可以是“已连接”你好,我是盛延敏,这里是网络编程实战的第14讲,欢迎回来。 在前面的基础篇中,我们已经接触到了UDP数据报协议相关的知识,在我们的脑海里,已经深深印上了“UDP 等于无连接协议”的特性。那么看到这一讲的题目,你是不是觉得有点困惑?没关系,和我一起进入...2026-03-01网络编程实战
15、怎么老是出现“地址已经被使用”你好,我是盛延敏,这里是网络编程实战的第15讲,欢迎回来。 上一讲我们讲到UDP也可以像TCP一样,使用connect方法,以快速获取异步错误的信息。在今天的内容里,我们将讨论服务器端程序重启时,地址被占用的原因和解决方法。 我们已经知道,网络编程中...2026-03-01网络编程实战
16、如何理解TCP的“流”你好,我是盛延敏,这里是网络编程实战第16讲,欢迎回来。 上一讲我们讲到了使用SO_REUSEADDR套接字选项,可以让服务器满足快速重启的需求。在这一讲里,我们回到数据的收发这个主题,谈一谈如何理解TCP的数据流特性。 TCP是一种流式协议在前面的...2026-03-01网络编程实战
17、TCP并不总是“可靠”的你好,我是盛延敏,这里是网络编程实战第17讲,欢迎回来。 在前面一讲中,我们讲到如何理解TCP数据流的本质,进而引出了报文格式和解析。在这一讲里,我们讨论通过如何增强读写操作,以处理各种“不可靠”的场景。 TCP是可靠的?你可能会认为,TCP是一种可...2026-03-01网络编程实战