当前位置: 技术问答>linux和unix
如何判断包已经接收完?
来源: 互联网 发布时间:2016-09-09
本文导语: 网络通讯中,在接收一个包,如何判断包已经接收完? 我的理解是不是,根据包头部判断这个包有多大,然后按这个长度去接收,如果接收到的数据长度就是这个长度,那么就说明接收完了,是不是这样? 上次面...
网络通讯中,在接收一个包,如何判断包已经接收完?
我的理解是不是,根据包头部判断这个包有多大,然后按这个长度去接收,如果接收到的数据长度就是这个长度,那么就说明接收完了,是不是这样?
上次面试,我这么回答,好像不对,来这里请教大家,谢谢了
我的理解是不是,根据包头部判断这个包有多大,然后按这个长度去接收,如果接收到的数据长度就是这个长度,那么就说明接收完了,是不是这样?
上次面试,我这么回答,好像不对,来这里请教大家,谢谢了
|
你是写普通的tcp,udp的socket代码,还是自己组装包头?
普通的tcp的socket更本不需要自己去判断包头,你recv到的全是data段里的内容。
你说的包是否接收完了,是指数据接收完了么?这里你得知道可能有粘包的情况出现。
http://http://blog.csdn.net/binghuazh/archive/2009/05/28/4222516.aspx
普通的tcp的socket更本不需要自己去判断包头,你recv到的全是data段里的内容。
你说的包是否接收完了,是指数据接收完了么?这里你得知道可能有粘包的情况出现。
http://http://blog.csdn.net/binghuazh/archive/2009/05/28/4222516.aspx