`
Kslsi
  • 浏览: 22425 次
  • 性别: Icon_minigender_2
社区版块
存档分类
最新评论

从文件传输到通信协议

    博客分类:
  • java
 
阅读更多

       人啊,是不应该说谎的,不过貌似我已经说了很多谎了保密,其实说一个谎很简单,但是你会为了圆这一个谎而去说更多的谎,从此陷入说谎的万劫不复之地。

 

       以上内容完全只是个人感想,欢迎大家批评。下面进入正题,先上图:

 

 

       目前的界面我暂时做成了这个样子,但是文件传输功能还是没有添加进来,因为错失一节课,导致我到现在对于文件传输这个玩意儿还是一知半解,不过今天比昨天好。

 

       我的题目是从文件传输到通信协议,有人可能会说,不是应该先有了通信协议,在才能实现文件传输么。没错!是这样,但从学习的角度来说,我们首先是要向实现文件传输这个功能,然后必须去了解通信协议。

 

       先说说要做到文件传输(是在之前的群聊客户端里面加入传文件的功能),我们要首先解决什么问题:区分要传输的内容到底是文件还是普通的文本(即文字消息)和文件怎么传输。之前我们已经解决掉了文本传输:以\r\n来分割字符串,以实现消息的完整性(即为文本消息的传输协议)。

 

       对于文件传输,我们就需要一个关于文件传输的通信协议:

              首先,我们知道每一种消息(文本和文件)都是由两部分组成的:消息头和消息体。每一种消息头的结构格式都是固定的,而消息体的格式则因为消息类型不同而不同。

              消息头的结构如下图:

              对于消息体,文本消息的消息体部分很简单,就只是聊天的内容。而文件的消息体则是由组成文件的字节和文件名表示。

 

       在我们发送消息时,必须按照顺序和格式数据一次写入输出流对象中。服务器端在读取的时候,首先要先读取消息的总长度,在读取消息的类型,判断此消息是文本还是文件,最后根据类型对消息做出相应的措施。

 

       通过以上过程我们可以知道所谓的通信协议,可以说是通信双方都必须遵守的通信规则,只能遵守这个规定,通信双方甚至多方才能正常通信。

 

       从文件传输来了解的协议当然只能算是冰山一角,对于通信协议的更多内容还得我们自己阅读更多的文献去了解。

 

       进步并不会在一瞬间。

 

 

 

  • 大小: 221.9 KB
  • 大小: 193.3 KB
分享到:
评论
1 楼 MNTMs 2014-07-17  
 

相关推荐

    自定义串口文件传输通信协议

    SPCP协议。设计思想基于帧传输方式,即在向串口发送数据时是一帧一帧地发送。为了保证可靠传输,通过握手建立连接,在每一帧的传输中,采用发送/应答/重连/失败方式。

    文件传输协议的简单设计与实现

    利用这个协议,来完成控制伪agent的功能,如 让 伪agent 防护某个文件夹,防护注册表的某个位置,阻塞某个ip, 伪agent 要将控制命令执行的结果以Xml的形式返回Xml中包含执行命令后的结果 例如一个命令中的那些子项...

    用TCP/socket实现windows与linux通信(文件传输)

    本文件传输系统采用TCP协议进行通信,实现了windows与linux通信,打破了只能在windows下传输文件的弊端,本程序的编写对通信编程新手有很大的帮助作用,本系统目前只支持windows向linux发送多种类型文件,大文件传输...

    USB通信协议——传输

    PC主机为了能下达命令,或是传输数据给外围设各,基本上,就必须有一套标准的USB通信协议来实现这个目的。如图所示,为PC主机与设备执行通信协议的整体结构。这个结构相当重要。图中显示了一个通信协议所需包含的...

    在使用netty进行网络通信协议传输使用protobuf时protobuf编译.proto文件生成JAVA类.zip

    在使用netty进行网络通信协议传输使用protobuf时protobuf编译.proto文件生成JAVA类.zip 包括测试proto3.proto文件,自动protobuf编译.proto文件生成JAVA类

    TCP文件传输系统 (多线程,支持断点续传,VC)

    文件包括源代码和安装包,源代码里包括自定义的文件传输通信协议。 程序采用分层的设计方案,将底层的配置文件和文件操作封装成基本模型组件,并定义了文件传输模型,提供视图和底层模型进行交互的外观;视图层分离...

    TCP文件传输系统(Version 1.6 多线程,断点续传,支持大文件传输)

    文件包括源代码和安装包,源代码里包括自定义的文件传输通信协议。 程序采用分层的设计方案,将底层的配置文件和文件操作封装成基本模型组件,并定义了文件传输模型,提供视图和底层模型进行交互的外观;视图层分离...

    支持IPv6的文件传输及即时通信

    这是上次IPv6文件传输的升级版,新特性如下: 1.加入了即时通信,也许只是鸡肋,大家别BS我啊 2.支持文件夹传输 3.解决上一版中,有些情况下只能单向传文件的重大缺陷,现在只要双方建立了连接,无论哪方发起的...

    gps车载设备协议

    文件中包含了语音通道、短信通道、GPRS通道等各种传输方式下的通信协议。涉及到车载机与其它附属设备之间的通信协议在其它文件中描述。 凡是在本文件中描述的命令都是已经在车载机中实现的,本文件是对车载机所能...

    C#文件传输与聊天 TCP协议

    本程序不分服务端和客户端 新手上路 请多指教

    对python中基于tcp协议的通信(数据传输)实例讲解

    tcp协议:流式协议(以数据流的形式通信传输)、安全协议(收发信息都需收到确认信息才能完成收发,是一种双向通道的通信) tcp协议在OSI七层协议中属于传输层,它上承用户层的数据收发,下启网络层、数据链路层、...

    C#TCP通信协议

    C#TCP通信,通过IP地址,TCP协议实现了数据的发送与接收,并且实现了文件的传输。

    TCP文件传输系统(Version 1.5,支持大文件传输,支持断点续传)

    针对1.0版本只能传输不超过2G文件的限制,升级后的版本重写了文件模型,支持超过2G的大文件的传输(64位,2^64范围);另外,在视图上增加了剩余...文件包括源代码和安装包,源代码里包括自定义的文件传输通信协议。

    100430运基信号[2010]267号《铁路信号安全通信协议技术规范》.pdf

    铁路信号设备之间的数据交换要保证通信安全、实时、准确,必须采用安全通信协议。本规范规定了信号安全设备之间通过封闭式传输系统进行安全相关信息交互的功能结构和协议。本规范适用于铁路信号安全设备之间的安全...

    VC++ WbQQ多用户聊天、文件传输(基于TCP协议)

    软件组成:注册登录服务器、聊天通信服务器、客户端三部分,使用之前:注册ODBC数据源;数据源名称:wbQQuser;类型:ACCESS;文件名:wbQQuser.mdb。

    XC文件传输终端v1.0绿色免费版

    XC文件传输终端是一款十分不错的使用命令行操作文件传输的工具,基于TCP协议进行文件传输,通信框架HP-Socket,也可以将文件拖进软件,自动转换成路径,本站提供的是该软件的绿色版本,欢迎需要的朋友前来本站下载...

    SPI通信协议及实例打包

    SPI通信协议及实例打包SPI通信协议及实例打包SPI通信协议及实例打包SPI通信协议及实例打包SPI通信协议及实例打包

    VB串口文件传输

    VB2010串口文件传输,所有源码

Global site tag (gtag.js) - Google Analytics