将存储在内存中的文件从客户端发送至服务器以保存、处理或允许他人访问。

使用的对象

可在LabVIEW 2016或更高版本的数据通信选板上找到SystemLink文件传输和配置API。

操作步骤

在客户端上,在VI中创建以下程序框图以将文件从内存发送至服务器。

根据您的具体编程目标自定义灰色部分的内容。



1
“打开配置”节点将发起与SystemLink服务器上文件服务的连接。
备注 SystemLink Server支持HTTP和AMQP配置。
2 创建节点使用指定的名称和属性在文件服务上生成可写文件。
3

For循环中,发送数据包节点将数据包中的文件数据传输到文件服务。LabVIEW自动用从零开始的整数顺序为数据包编号。收到最后数据包后,文件服务将使用数据包编号按顺序将数据包写入服务器磁盘。

4 发送最后数据包节点将最后一个数据包发送至文件服务。收到最后数据包后,文件服务会按顺序将数据包写入服务器磁盘。“发送最后数据包”节点发送最后一个数据包之后,该文件将不再可写。因此,无法再将该文件的其他数据包发送到文件服务。
5 关闭节点使所有打开的引用失效并将其关闭。

故障分析

  • 如果客户端在文件传输期间断开连接,则需要中止文件传输并等待服务器自动删除未完成的文件传输。服务器删除未完成的文件传输后,再发起新的文件传输。
    备注 如果未完成的文件传输在一小时内没有新进度,服务器将自动视其为已放弃并将其删除。
  • 如果系统的网络连接不稳定或速度较慢,可能需要调整文件传输的数据包大小。降低发送数据包(Send Packet)节点的数据包大小输入的值可防止超时。
    备注 降低数据包的大小意味着增加发送的数据包数量,因此会增加传输文件所需的总时间,因为服务器和客户端之间必须进行更多的往返。

范例

在编程环境中搜索并访问以下安装的范例:
  • 同步文件IO