人啊,是不应该说谎的,不过貌似我已经说了很多谎了,其实说一个谎很简单,但是你会为了圆这一个谎而去说更多的谎,从此陷入说谎的万劫不复之地。
以上内容完全只是个人感想,欢迎大家批评。下面进入正题,先上图:
目前的界面我暂时做成了这个样子,但是文件传输功能还是没有添加进来,因为错失一节课,导致我到现在对于文件传输这个玩意儿还是一知半解,不过今天比昨天好。
我的题目是从文件传输到通信协议,有人可能会说,不是应该先有了通信协议,在才能实现文件传输么。没错!是这样,但从学习的角度来说,我们首先是要向实现文件传输这个功能,然后必须去了解通信协议。
先说说要做到文件传输(是在之前的群聊客户端里面加入传文件的功能),我们要首先解决什么问题:区分要传输的内容到底是文件还是普通的文本(即文字消息)和文件怎么传输。之前我们已经解决掉了文本传输:以\r\n来分割字符串,以实现消息的完整性(即为文本消息的传输协议)。
对于文件传输,我们就需要一个关于文件传输的通信协议:
首先,我们知道每一种消息(文本和文件)都是由两部分组成的:消息头和消息体。每一种消息头的结构格式都是固定的,而消息体的格式则因为消息类型不同而不同。
消息头的结构如下图:
对于消息体,文本消息的消息体部分很简单,就只是聊天的内容。而文件的消息体则是由组成文件的字节和文件名表示。
在我们发送消息时,必须按照顺序和格式数据一次写入输出流对象中。服务器端在读取的时候,首先要先读取消息的总长度,在读取消息的类型,判断此消息是文本还是文件,最后根据类型对消息做出相应的措施。
通过以上过程我们可以知道所谓的通信协议,可以说是通信双方都必须遵守的通信规则,只能遵守这个规定,通信双方甚至多方才能正常通信。
从文件传输来了解的协议当然只能算是冰山一角,对于通信协议的更多内容还得我们自己阅读更多的文献去了解。
进步并不会在一瞬间。
相关推荐
### 自定义串口文件传输通信协议 #### 一、引言 随着计算机技术的发展,串行通信作为一种简单有效的数据传输方式被广泛应用。特别是在工业控制、远程监控等领域,串行通信接口(例如RS232)成为了重要的通信手段之...
该通信协议既包括串行通信(简称串口通信),也包括网络通信(简称网口通信),并采用了特定的协议格式来确保数据传输的可靠性。 在串口通信中,迈瑞血液分析仪支持HL7协议、8ID协议和10ID协议。这些协议在握手控制...
《07多功能电能表通信协议》备案文件是电力行业中重要的技术规范,它详细规定了多功能电能表与数据采集系统、终端设备之间的通信方法、数据格式和交互过程。这份文档对于理解和实施智能电网的数据通信至关重要,特别...
5. **应用示例**:文档中可能包含实际的应用场景,例如如何从上位机发送加工指令,如何接收机床状态信息,以及如何处理异常情况等,帮助用户更好地理解和实施通信协议。 6. **兼容性与安全性**:协议的兼容性决定了...
在中国的电信行业中,三大运营商——中国移动、中国联通和中国电信在提供短信服务时,采用了各自不同的通信协议来实现短信的发送和接收。本文将详细介绍其中的"3运营商通信协议",特别是与"cmpp"相关的知识点。 ...
在本文中,我们将深入探讨这个由C语言实现的带有协商机制的私有通信协议,以及它与TCP服务、通信和传输层协议的关系。 首先,私有通信协议是在标准网络协议栈(如TCP/IP)之上构建的,用于满足特定应用或系统的需求...
《FMST消防主机通信协议详解》 在现代建筑的安全防护体系中,消防系统扮演着至关重要的角色,而作为消防系统核心部分的消防主机,其通信协议则是确保系统正常运行的关键。本文将深入探讨FMST(假设为“Fire ...
Xmodem协议是一种早期的文件传输协议,主要用于串行通信,尤其是在个人计算机之间通过调制解调器进行数据传输时。它由 Ward Christensen 在1977年开发,是最早的文件传输协议之一,尽管现在已经被更高效的协议如 ...
文件传输是TCP/IP协议应用的一个重要方面,尤其在处理大文件和断点续传功能时,其优势更为显著。本文将深入探讨TCP/IP协议在文件传输中的工作原理,以及如何实现断点续传和处理大文件。 首先,TCP(Transmission ...
通信协议则是规定了不同设备之间如何交换信息的一套规则和标准,它确保了数据的有效传输和理解。下面将详细阐述多点通信中的通信协议及其组成部分。 1. **协议头**:协议头是每个通信帧的起始部分,用于标识接下来...
TCP(Transmission Control Protocol)传输...总之,TCP协议在文件传输中的作用是提供可靠的数据传输服务,确保文件能够准确无误地从一端传送到另一端。理解和掌握TCP协议的原理及实现方法对于进行网络编程至关重要。
### 通信协议基础知识详解 #### 一、通信协议概念理解 通信协议是在计算机网络中用于指导数据交换的一套规则或标准。它定义了设备间如何通信的细节,包括数据的格式、顺序以及控制数据流的方法等。理解通信协议的...
总结来说,C#的TCP通信涉及客户端和服务端的建立连接、数据传输以及文件传输等核心步骤。开发者需要理解TCP协议的工作原理,并熟练运用C#提供的网络编程API,才能实现高效、稳定的网络通信系统。在实际项目中,还应...
本文件传输系统采用TCP协议进行通信,实现了windows与linux通信,打破了只能在windows下传输文件的弊端,本程序的编写对通信编程新手有很大的帮助作用,本系统目前只支持windows向linux发送多种类型文件,大文件传输...
它将无线通信协议设计得非常简单,适合嵌入到各种小型、电池供电的设备中。ANT+协议定义了多个设备类型和数据通道,使得不同类型的运动设备能够有效地共享数据,如心率、速度、距离、功率等关键运动指标。 在压缩包...
总结,Xmodem文件传输协议是一个早期的、基础的串行通信协议,它的出现为后来的文件传输协议奠定了基础。虽然其性能和效率在现代通信标准面前显得不足,但理解其工作原理有助于我们更好地了解文件传输的历史和技术...
文件包括源代码和安装包,源代码里包括自定义的文件传输通信协议。 程序采用分层的设计方案,将底层的配置文件和文件操作封装成基本模型组件,并定义了文件传输模型,提供视图和底层模型进行交互的外观;视图层分离...
它包含了两个关键组件:文件探测协议和文件传输协议。 文件探测协议的主要目的是检查文件是否已经部分或全部存在于服务器上,从而实现断点续传和文件秒传功能。客户端首先将文件按50KB的大小进行切片,计算每个切片...
TCP协议是一种面向连接的、可靠的、基于字节流的传输层通信协议。它通过三次握手建立连接,并在数据传输过程中采用滑动窗口机制和确认应答来确保数据的正确性,同时通过重传机制保证数据的完整性。文件传输则是在这...
在IT行业中,网络通信是至关重要的一个领域,而TCP(Transmission Control Protocol)作为一种可靠的、面向连接的传输协议,被广泛应用于文件传输等场景。在C#编程语言中,利用Socket API进行TCP通信可以构建高效、...