Part4


文件传输

前面两篇文章所使用的范例都是传输字符串,有的时候我们可能会想在服务端和客户端之间传递文件。比如,考虑这样一种情况,假如 客户端显示了一个菜 单,当我们输入 S1、S2 或 S3(S 为 Send 缩写)时,分别向服务端发送文件 Client01.jpg、Client02.jpg、 Client03.jpg; 当我们输入 R1、R2 或 R3 时(R 为 Receive 缩写),则分别从服务端接收文件 Server01.jpg、 Server02.jpg、Server03.jpg。那么, 我们该如何完成这件事呢?此时可能有这样两种做法:

  • 类似于 FTP 协议,服务端开辟两个端口,并持续对这两个端口侦听:一个用于接收字符串,类似于 FTP 的控制端口,它接收 各种命令(接收或发送文件);一个用于传输数据,也就是发送和接收文件。
  • 服务端只开辟一个端口,用于接收字符串,我们称之为控制端口。当接到请求之后,根据请求内容在客户端开辟一个端口专用 于文件传输,并在传输结束后关闭端口。

现在我们只关注于上面的数据端口,回忆一下在第二篇中我们所总结的,可以得出:当我们使用上面的方法一时,服务端的数据端口可 以为多个客户端的多次 请求服务;当我们使用方法二时,服务端只为一个客户端的一次请求服务,但是因为每次请求都会重新开辟端 口,所以实际上还是相当于可以为多个客户端的多次请 求服务。同时,因为它只为一次请求服务,所以我们在数据端口上传输文件时 无需采用异步传输方式。但在控制端口我们仍然需要使用异步方式。

从上面看出,第一种方式要好得多,但是我们将采用第二种方式。至于原因,你可以回顾一下Part.1(基本概念和操作)中关于聊天程 序模式的讲述,因为接下来一篇文章我们将创建一个聊天程序,而这个聊天程序采用第三种模式,所以本文的练习实际是对下一篇的一 个铺垫。

版权声明:本文为YES开发框架网发布内容,转载请附上原文出处连接
张国生
上一篇:程序测试
下一篇:订立协议
评论列表

发表评论

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

Part4
Part5
Part2
SAP S/4HANA MM模块培训 43 - 制造商零件编号MPN:主数据、采购控制与AMPL
SAP UI5 MDCTable Odata4实例
SAP S4启动与停止命令
SAP S/4HANA MM模块培训 15 - 影响MRP的批量程序:EX逐批量与FX固定批量
.NET Core 运行时T4模板使用,T4生成代码
SAP S/4HANA MM模块培训 30 - 发票校验(四):后续借记、交货成本与贷项凭证
SAP S/4HANA MM模块培训 45 - 可用性检查与缺件检查:静态、动态与收货通知
VS2022添加支持.Net Framwork4.0的方法
微信支付:签名计算.net4.5
Dotfuscator Professional Edition 4.96 版的使用教程
SAP S/4HANA MM模块培训 27 - 物流发票校验(一):三路匹配、MIRO与中断流程补齐
vue-cli4构建build时删除console和debugger
SAP S/4HANA MM模块培训 28 - 发票校验(二):税码继承、OMR2默认值与未完成议程补齐
SAP S4Hana 物料编号区间配置 MMNR
SAP S/4HANA 实操 03:创建物料组
SAP S/4HANA MM模块培训 29 - 发票校验(三):数量与价格差异、OMR6容差及冻结释放
ios video标签部分mp4文件无法播放的问题