![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
计算机网络
ikunkun0406
这个作者很懒,什么都没留下…
展开
-
论TCP粘包和拆包产生的根本原因
前序:相信熟悉网络的同学都知道,TCP是面向流的,啥是面向流?谢希仁之<<计算机网络>>中有段话,个人觉得描述得非常贴切:这就是传输层提交给应用层的发生粘包和拆包的根本原因,TCP协议视一切如流,它并不知道上层应用需要的是啥,只是在保证有序的情况下在适当的时机将数据提交给应用层处理。现在业界解决的粘包和拆包的方案主要有四个:1:消息定长,例如每个报文的大小固定的20...原创 2020-03-24 10:31:16 · 325 阅读 · 0 评论 -
关于同一条TCP链接数据包到达顺序的问题
前序:最近一直疑惑,tcp能不能保证应用层发包的顺序性?例如client A给server B按时间先后分别发送 c和d包(即是先发c包,再发d包),但是因为网络的复杂性,并不能保证c包一定比d包先到(因为走的链路有可能不同),那tcp是怎样保证的呢?如果不能保证,平时写的程序就会出现很多问题(例如假如c包是要查询一个用户的信息,d包是要删除用户的信息,那如果d包先到后就交给应用层的话,删除了这...转载 2020-03-21 12:04:19 · 1552 阅读 · 2 评论 -
利用原始socket简单实现FTP的客户端和服务器端程序
1.设计目的 本设计旨在利用原始socket简单实现FTP(File Transfer Protocol,文件传输协议)的客户端和服务器端程序,能够实现get、put、pwd、dir、cd等基本交互命令。2.具体要求 用socket 编程接口编写两个程序,分别为客户程序(client.c)和服务器程序(server.c),该程序应能实现下述命令功能: get:取远方的一个文件 put:传给原创 2017-07-06 11:37:08 · 22607 阅读 · 41 评论