订立协议


1. 发送文件

我们先看一下发送文件的情况,如果我们想将文件 client01.jpg 由客户端发往客户端,那么流程是什么:

  1. 客户端开辟数据端口用于侦听,并获取端口号,假设为 8005。
  2. 假设客户端输入了 S1,则发送下面的控制字符串到服务端:[file=Client01.jpg, mode=send, port=8005]。
  3. 服务端收到以后,根据客户端 ip 和端口号与该客户端建立连接。
  4. 客户端侦听到服务端的连接,开始发送文件。
  5. 传送完毕后客户端、服务端分别关闭连接。

此时,我们订立的发送文件协议为:[file=Client01.jpg, mode=send, port=8005]。但是,由于它是一个普通的字符串,在上一篇中,我 们采用了正则表达式来获取其中的有效值,但这显然不是一种好办法。因此,在本文及 下一篇文章中,我们采用一种新的方式来编写 协议:XML。对于上面的语句,我们可以写成这样的 XML:

<protocol><file name="client01.jpg" mode="send" port="8005" /></protocol>

这样我们在服务端就会好处理得多,接下来我们来看一下接收文件的流程及其协议。

NOTE:这里说发送、接收文件是站在客户端的立场说的,当客户端发送文件时,对于服务器来收,则是接收文件。

2. 接收文件

接收文件与发送文件实际上完全类似,区别只是由客户端向网络流写入数据,还是由服务端向网络流写入数据。

  1. 客户端开辟数据端口用于侦听,假设为 8006。
  2. 假设客户端输入了 R1,则发送控制字符串: 到服务端。
  3. 服务端收到以后,根据客户端 ip 和端口号与该客户端建立连接。
  4. 客户端建立起与服务端的连接,服务端开始网络流中写入数据。
  5. 传送完毕后服务端、客户端分别关闭连接。

 

版权声明:本文为YES开发框架网发布内容,转载请附上原文出处连接
张国生
上一篇:Part4
评论列表

发表评论

评论内容
昵称:
验证码:
验证码
关联文章

订立协议
协议处理类的实现
1.面向连接的传输协议:TCP
基于欧姆龙PLC#FinsTcp协议上位机通讯(一)-PLC配置
SAP S/4HANA MM模块培训 10 - 框架协议、数量合同与金额合同
基于欧姆龙PLC#FinsTcp协议上位机通讯(二)-C#通讯模块开发
C# Socket网络编程 系列课程
消息发送时的问题
如何在新版outlook客户端配置腾讯企业邮箱
高清图片、视频素材网站汇总
C#使用Thrift作为RPC框架入门(三)之三层架构
程序测试
SAP S/4HANA MM 模块培训 24:来源清单、采购申请与数量合同
FTP客户端工具 FileZilla
nginx websocket支持
FTP客户端工具 WinSCP ( 推荐,免费 )
SAP 事务码后缀规律:先看家族,再看最后一个字母
网易闪电邮客户端中配置企业邮箱的方法
SAP S/4HANA MM模块培训 11 - 供应来源确定与货源清单维护
服务器安全:SQLServer对外网开放后,被人尝试登录sa账户