1

我正在编写两个程序(server.vi)和(client.vi)。它们通过 TCP 连接相互通信。

客户端打开与服务器的 TCP 连接后,服务器以“A”类型的数据包响应。客户端将另一个类型为“A”的数据包作为确认发送回服务器。此时,服务器开始向客户端发送连续的“B”类型数据包流。客户端开始发送类型为“C”的连续数据包流。

这意味着发送和接收类型为 B 和 C 的数据包将是并行的。

我应该如何在labview中实现这样的东西?

这是我的一个想法,我希望有人可以发表评论或提供更好的建议。

  1. 服务器有两个while循环

    一个。第一个while循环包含一个接收“C”类型数据包的TCP读取函数。

    湾。第二个while循环包含一个发送“B”类型数据包的TCP写入函数

  2. 客户端有两个while循环

    一个。第一个while循环包含一个发送“C”类型数据包的TCP写入函数

    湾。第二个while循环包含一个接收“B”类型数据包的TCP读取函数。

这样我们就可以并行发送和接收“B”和“C”类型的数据包。

所有的 while 循环都是相互独立的,并且基本上是无限的,除非客户端和服务器程序都停止。

这有道理吗?有没有更聪明/更好的方法来做到这一点?

4

1 回答 1

2

这听起来像是让两个进程在 LabVIEW 中并行运行的适当方式,是的。

看看 LabVIEW 附带的示例 - 在 LV 2012 中有一个“TCP Communicator - Active.vi”(帮助->查找示例->网络-> TCP & UDP),看起来它的功能与您的类似”重新描述。

您需要弄清楚何时以及如何停止每个循环 - 上面的示例使用了局部变量,但您也可以使用通知程序来执行此操作。

于 2013-06-12T08:27:53.673 回答