当前位置:  技术问答>linux和unix

UNIX/Linux 下socket() 编程里面send() 和recv() 数据顺序问题?

    来源: 互联网  发布时间:2017-04-23

    本文导语:  一个问题大家讨论下: socket 编程里面,如果使用TCP 通信机制,服务器和客户端建立好连接后。 如果服务器端不断使用send() 函数向客户端发送数据,而客户端也一直使用recv() 接收这些数据的情况下,客户端接收...

一个问题大家讨论下:
socket 编程里面,如果使用TCP 通信机制,服务器和客户端建立好连接后。

如果服务器端不断使用send() 函数向客户端发送数据,而客户端也一直使用recv() 接收这些数据的情况下,客户端接收到的数据一定和服务器端send() 的数据顺序是一致的吗?会不会出现网络阻塞在原因或者其他原因使其数据丢失,而少接收到一条数据。

例如:如果服务器端顺序使用send() 给客户端发送1,2,3,4,.... 客户端会不会出现接收到的数据是:1,4,2,3,....这样的情况?

大家随便发言啊,踊跃发表各自的看法啊。

|
看代码实现,没有定论。

有序应答是常见的,实现无序应答需要携带请求唯一ID标识,一般使用uint64。

|
协议层肯定是有序的, 我说的应用层报文的序列。

|
当然是有序的。

上面版主讲的是另外一个意思

|
有序的, TCP内部会保障.

|
TCP协议决定了收包是有序的,

|
tcp是流协议,如果对方没有收到, 对端会要求重传的,顺序是有保证的

|
是的,tcp能保证消息的时序, 掉包会重传, udp丢包,需要自己逻辑层做处理,协议本身不保证时序,也不保证不丢包

|
协议本身不保证时序,网络数据都是BIGENDIAN

    
 
 

您可能感兴趣的文章:

  • 请问,在unix下,关闭oracle数据库和重起unix,的正确顺序和命令应该是怎样的!请教!
  • 高级UNIX编程和UNIX环境高级编程是不是一本书
  • 读过 Unix网络编程 或者 熟知Unix网络编程的 的进来看一下
  • 想看linux内核源代码,另外手头上有一本《unix环境高级编程》,需要先把《unix环境高级编程》看完之后再看内核吗?
  • 我下载了UNIX环境高级编程的源码,可是打开时有错误,怎么才可以打开?还有谁有《UNIX环境高级编程(英文版)》的chm格式的ebook?
  • 刚刚接触Unix系统和Unix编程。急需Unix下多线程程序设计和网络Socket程序设计方面的资料。
  • 想学linux下程序开发,不知道买哪本书好《UNIX环境高级编程》(中文第一版)还是《UNIX环境高级编程》(英文第二版)
  • unix编程与linux编程有什么区别?
  • [学习UNIX编程]初学UNIX编程,遇到一个小小的问题,烦劳大虾帮忙解惑,谢谢!
  • 看Unix环境高级编程,提到了V和bsd,有很多不同,但是没有提到Linux,请问linux跟BSD或者unix V 编程细节哪些不同的,特别是线程,进程,和socke
  • 都说《UNIX环境高级编程》好,对于学linux编程好不好?《Linux下的c编程》《嵌入式系统C编程》那个更适合初学者?各是那个出版社的?(
  • 我初学 Unix 编程,在看《Unix环境高级编程》时有一个问题请指教。
  • 我学&用Linux编程,手里有《UNIX环境高级编程》,看它行吗?
  • 谁有介绍UNIX下面函数的书啊,类似UNIX编程参考手册的东西
  • UNIX编程艺术,了解unix文化强烈推荐这本书
  • UP有分,推荐几本书给我吧,兄弟们,UNIX入门与编程的与编程的,
  • 学Linux编程前要学Unix吗?哪里有学Linux编程的好书下载?
  • 入门问题,我想向UNIX编程方向发展,单目前不会UNIX,我该如何做
  • 请问:如果懂unix编程,那么会懂linux编程吗?一般来说:它们有什么关系呢?
  • 都说《UNIX环境高级编程》好,对于学linux编程好不好?是那个出版社的,是中文版吗?
  • 学习UNIX编程应该从那里入手?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • UNIX下面能否使用类似BCP的程序连接另一台UNIX下面的Sybase数据库进行数据处理
  • 有什么好的介绍UNIX使用和管理的书吗?UNIX下最常用的数据库是什么?
  • 在unix下编写socket,从远端接收数据并存入db2数据库
  • UNIX和Windows数据存取方式不同吗?
  • 大家在UNIX下都使用什么数据库?使用什么做数据开发?
  • 请教unix系统下高效数据传输的方法
  • 怎样可以在WINDOWS下连到UNIX下的SYBASE数据库进行编程?
  • Unix 命令行数据复制程序 ddpt
  • 如何在UNIX/LINUX下实现数据包拦截?
  • windows应如何访问UNIX/LINUX系统下的数据库?
  • unix下一般用什么数据库。如(金融)行业!
  • unix系统有没有本地数据库?类似windows下的access
  • 请教:关于[linux/unix环境下连接到Oracle数据库后断开连接]的问题
  • 如何在sco/unix5.0下同时安装多个数据库(oracle和informix)???
  • 请问,我如何在unix下用c/c++连结数据(oracle)??在线等待!!!!
  • UNIX下数据库的问题
  • http://www.itpub.net 论坛更新数据库,速度更快,欢迎大家前去讨论unix&linux知识!
  • unix下C++代码中如何进行数据库操作?给个完整代码学习学习
  • 我想用unix系统,主要是为了编程和数据库,用哪个好啊?
  • 网页中的数据如何传递到Web服务器(Unix操作系统)上的c程序中?
  • java命名空间java.util.regex类pattern的类成员方法: unix_lines定义及介绍
  • 关于UNIX的历史 : 1973年,K.Thompson和D.M.ritchie,用C改写UNIX。那么,在此之前,UNIX是用什么写的?
  • unix/Linux下c++ boost thread库读写锁介绍
  • 没有unix系统我如何学习unix
  • php将标准字符串格式时间转换成unix时间戳_strtotime
  • unix盘哪里有下载的??哪里有比较好的unix论坛??万分感谢!!!!!!!!!
  • php将unix时间戳转换成字符串时间函数(date)
  • 急!装完unix5.06,再装win2000。重启后不能进unix.
  • unix/Linux下c/c++ pthread库读写锁函数介绍
  • UNIX特急!!!digital unix问题,请专家快来!!!
  • UNIX支持中文否,请推荐UNIX好书


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,