0 0

tcp协议ack响应失败接收端能否读取数据40

如果client发送信息"test"到server(使用tcp)
我简单说下我的理解,如果不正确还请指正

1.三次握手
client端
2.应用程序发送test数据包到send缓冲区
3.系统进行tcp发送
4.系统等待接收ack响应

server
2.系统接收到数据包放入receive缓冲区
3.系统响应ack
4.应用程序读取缓冲区内容

我想问下当server在第3步的时候网络出现问题(比如拔掉网线),那server端应用程序可否正常从缓冲区读取数据?
2013年5月14日 19:40

2个答案 按时间排序 按投票排序

0 0

楼主就是想拿到消息,那为什么不用udp呢?
udp需要自己做校验

2013年5月15日 12:44
0 0

不会,因为还要等待client的ack来确认server的ack已经被client收到

2013年5月15日 09:07

相关推荐

    TCP发送和接收图片源码

    在这个"TCP发送和接收图片源码"的主题中,我们将深入探讨如何利用TCP协议来传输图像数据,以及如何实现桌面截图并发送的功能。 首先,我们要理解TCP的基本工作原理。TCP建立连接的过程被称为三次握手,即客户端发送...

    计算机网络课程设计 基于TCP协议的文件传输简单实现

    为了保证数据的完整性,TCP协议使用了校验和机制,每个数据段都会附带一个校验和,接收端接收到数据后会计算校验和,如果与发送端计算的结果不一致,则会要求重传该数据段。 在文件传输系统的设计中,我们需要考虑...

    TCP协议图片上传

    TCP协议允许数据分片,所以大文件如图片可以被拆分成多个小的数据段逐个发送,确保在网络不稳定的情况下也能重新组装。 服务器端则监听特定端口等待连接,一旦收到客户端的连接请求,它会创建一个套接字来接受数据...

    delphi7 TCP协议实现包

    在IT行业中,TCP(传输控制协议)是一种广泛用于网络通信的协议,因为它提供了一种可靠的、面向连接的数据传输方式。Delphi是Embarcadero Technologies开发的一种集成开发环境(IDE),主要用于编写Windows应用程序...

    TCP 接收数据

    同时,TCP还会为每个数据段分配一个序号,确保数据在接收端按序重组。 3. 数据确认:TCP使用确认机制,确保每个发送的数据段都被正确接收。如果接收端没有收到某个数据段,它会发送一个重传请求,直到数据被成功...

    java Tcp协议验证

    它将数据分成多个段进行传输,并为每个段分配一个序号,接收端可以根据序号重新组装数据。同时,TCP还采用了确认机制,确保每个发送的段都被正确接收。如果某个段未收到确认,TCP会自动重传该段。 丢包和错误处理是...

    TCP通讯发送文件,发送端和接受端源码

    发送端(客户端)通过SYN报文段向接收端(服务器)发起连接请求,接收端回应SYN+ACK,最后发送端再次回应ACK,完成连接建立。这个过程确保了双方都能正常通信。 在发送文件时,主要分为两个部分:发送端和接收端的...

    多线程与TCP协议开发

    ### 多线程与TCP协议开发 #### 一、引言 在现代软件开发中,尤其是在网络应用领域,多线程技术和TCP/IP协议是两个非常重要的技术。多线程能够提高程序的执行效率,使应用程序更加高效地利用系统资源;而TCP/IP协议...

    tcp网络通讯协议demo

    另外,TCP通过滑动窗口协议进行流量控制,防止接收方来不及接收导致数据丢失。 7. **性能优化**:在实际应用中,为了提高效率,可能会采用NIO(Non-blocking I/O)或AIO(Asynchronous I/O)来替代传统的IO模型,...

    TCP_Java.rar_TCP java_java Tcp _实现tcp协议

    在IT行业中,网络通信是至关重要的一个领域,TCP(Transmission Control Protocol)作为互联网协议栈中的核心部分,负责在不可靠的网络环境中提供可靠的数据传输。本资料“TCP_Java.rar”着重介绍了如何在Java编程...

    STM32 初级课程-TCP-IP协议讲座4.pdf

    9. TCP的接收端动作:TCP接收端会根据接收到的数据包的顺序,生成相应的ACK。如果数据包按顺序到达且没有间断,则可能会生成延迟的ACK。如果接收到的数据包之间有间断,则需要发送重复的ACK或立即的ACK。 10. TCP...

    徐州工程学院计算机网络实验报告-TCP协议.doc

    1. 主机 B 启动协议分析器,捕获数据,设置过滤条件(提取 TCP 协议)。 2. 主机 A 启动仿真编辑器,进入 TCP 连接视图。 3. 主机 A 向主机 C 发送连接请求报文。 4. 主机 C 响应确认报文,确认主机 A 的请求。 5. ...

    socket基于TCP协议简单聊天软件

    TCP(Transmission Control Protocol,传输控制协议)是一种面向连接、可靠的传输协议,确保数据的正确顺序和无丢失传输。 首先,我们需要理解TCP三次握手建立连接的过程。客户端向服务器发送一个SYN(同步序列编号...

    TCP文件传输

    - **文件读写**:读取本地图片文件,将其转换为适合网络传输的格式,以及在接收端接收数据后写入本地文件。 - **进度显示**:为了用户体验,程序可能包含一个进度条或者百分比显示,反映文件传输的进度。 - **异常...

    计算机网络实验四:TCP协议探索和连接管理分析

    3. 流量控制:TCP利用滑动窗口机制实现流量控制,即通过调整窗口大小来控制发送端的发送速率,避免接收端处理不过来导致的数据丢失。 4. 拥塞控制:当网络中出现过多的数据包,导致网络性能下降时,TCP会减少发送的...

    监测tcp 数据 串口数据检测

    6. **数据包重组**:TCP将应用程序的大数据块分割成小的数据段进行传输,接收端则根据序列号重组这些数据段,确保数据的完整性。 7. **断开连接**:当通信结束,双方会通过四次挥手过程断开TCP连接,释放资源。 在...

    linux tcp 循环发数据

    TCP连接是通过三次握手建立的,即客户端发起连接请求(SYN),服务器响应连接请求(SYN+ACK),客户端再回应确认(ACK)。只有完成这个过程,双方才能开始传输数据。 在发送数据阶段,通常会使用套接字(socket)...

    TCP_tcp_

    接收端则按照TCP的顺序接收这些数据段,重组后保存为原始文件。这涉及到文件操作、缓冲区管理和网络I/O。 8. **套接字编程**:在实现TCP文件传输时,我们会用到套接字(Socket)API,包括创建套接字、绑定地址、...

    TcpTransfer—实现目录的发送与接收.rar

    但是,对于目录发送与接收这种大容量的数据传输,我们可能需要额外的状态同步机制,比如心跳包,以保持连接活跃,并确认接收端是否还在正常接收数据。 6. **安全性考虑**: 考虑到网络安全,可以在TCP之上使用SSL/...

    TCP.rar_TCP客户端_tcp 数据传输

    3. 接收数据:服务器响应的数据,客户端通过recv或read函数读取。 4. 关闭连接:当通信完成后,客户端需要通过四次挥手断开连接。客户端发送一个FIN(结束)包,服务器回应一个ACK,然后服务器也发送一个FIN包,...

Global site tag (gtag.js) - Google Analytics