以为文件传输完毕发送8个校验字节会单独收到(延迟无效)

昨晚的实验就已经告诉我答案:最后一次接受到的发送数据有以下几种可能:
   1200 678 1200
   1200 1200 678
   1200 678 1200(以上数据简单描述一下问题)
在发送端,我故意延迟(10s)发送最后的结束符(#File)给客户端,结果还是没能让recv单独接受者几个小不点字节。暗示我自己:不能凭借最后接受到小于1200字节为文件结束标志,TCP的隐藏了传输的真相。什么发送确认,丢失重传,它掩盖的非常好。
     如果没有书籍的帮助,我想自己一定被掩埋的事实所困扰的。

时间: 2024-10-07 14:11:41

以为文件传输完毕发送8个校验字节会单独收到(延迟无效)的相关文章

C#Socket文件传输(发送与接收代码)

这里是发送的代码: SendVarData是转码后发送函数 1 /// <summary> 2 /// 发送文件 3 /// </summary> 4 /// <param name="userName"></param> 5 private void SendFileToClient(string userName) 6 { 7 User targetUser = userListDict[userName]; 8 String tar

java UDP聊天与文件传输

package rgy.com.UDP3; import java.awt.Font; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.io.File; import java.io.Fil

socket文件传输功能的实现

服务端: #include <stdio.h> #include <winsock2.h> #pragma comment (lib, "ws2_32.lib")  //加载 ws2_32.dll    #define BUF_SIZE 1024    int main(int argc, char *argv[]){     //先检查文件是否存在     char *filename = "Beyond.mp3";//文件名     FI

Java 简单TCP文件传输

服务端 package TCP; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.InetSocketAddress; import java.net.ServerSocket; import java.net.Socket; public class TCP_File_Serv

如何在Linux中使用rz/sz工具进行文件传输

在Linux中,使用rz/sz工具能够进行Linux和windows之间的文件传输,那么要如何使用rz/sz工具工具呢?下面小编就给大家介绍下Linux下如何使用rz/sz工具进行文件传输,一起来学习下吧. 一般来说,linux服务器大多是通过ssh客户端来进行远程的登陆和管理的,使用ssh登陆linux主机以后,如何能够快速的和本地机器进行文件的交互呢,也就是上传和下载文件到服务器和本地: 与ssh有关的两个命令可以提供很方便的操作: sz:将选定的文件发送(send)到本地机器 rz:运行该

【代码笔记】Java深入学习——实现客户端发送文件到服务器的文件传输

Server.java package com.huaxin.lesson02; import java.io.FileOutputStream; import java.io.InputStream; import java.io.ObjectInputStream; import java.net.ServerSocket; import java.net.Socket; /** * @thing 实现客户端发送文件到服务器 * @thing 客户端发送到客户端(本代码未实现) * @aut

Linux下几种文件传输命令

Linux下几种文件传输命令 sz rz sftp scp 最近在部署系统时接触了一些文件传输命令,分别做一下简单记录: 1.sftp Secure Ftp 是一个基于SSH安全协议的文件传输管理工具.由于它是基于SSH的,会在传输过程中对用户的密码.数据等敏感信息进行加密,因此可以有效的防止用户信息在传输的过程中被窃取,比FTP有更高的安全性.在功能方面与FTP很类似,不仅可以传输文件数据,而且可以进行远程的文件管理(如建立,删除,查看文件列表等操作).Sftp与ftp虽然只有一字之差,但基于

vsftpd文件传输 、 Samba共享服务

Vsftpd 1.什么是FTP? FileTransfer Protocol 基于C/S结构的文件传输协议 2.使用什么协议?什么端口? TCP 21    建立命令链路 TCP 20    在主动传输模式下服务器使用20端口向客户端建立数据链路 3.FTP工作原理 --------- Client               Server-------------- 1031                21 1032                 20 ①客户端向服务器发出连接请求,同时

文件传输

文件传输 前面的案例都是传输字符串.还有一种常见的情况,就是在服务端和客户端之间传输文件. 计入,客户端显示了一个菜单:当输入S1,S2或S3时,分别向服务端发送文件Client01.jpg,Client02.jpg,Client02.jpg;当输入R1,R2或R3时,分别从服务端接受文件Server01.jpg,Server02.jpg,Server03.jpg.那么,如何完成这项功能呢?   方法1:类似FTP协议,服务端监听两个端口:一个称为控制端口,用于接受各种命令字符串(只是接受或发送