NI LabVIEW,CVI,数据采集等产品讨论区

取消
显示结果 
搜索替代 
您的意思是: 

2台电脑之间传输数据

现在有2台电脑之间需要传输数据,我自己做了用TCP/IP协议来传输数据的VI,一个发送端和一个接收端,数据是在一个While循环中产生的,每次循环都会产生一个数组,需要将这个数组传输到另一台电脑,但是发现只有当第一次运行程序的时候,接收端才能收到数据,将接收端程序停止后再运行就收不到数据了,我对数据通信不太了解,我猜可能是由于TCP/IP通讯协议需要先握手之后才能通讯,所以第一次运行程序时,进行了握手的步骤,但是停止之后再运行则因为发送端已经跳过握手的那一步(发送端中建立TCP/IP侦听是在循环的外面),所以无法建立连接。
我希望能实现这样两个功能:第一,就是无论我接收端是否运行,都不会影响到发送端程序的运行,即就算我没有运行接收端的程序,发送端依然能不断地在While循环中产生数组,不会等待接收端的响应;第二,就是每次当我运行接收端程序时都能收到数据(停止后再运行也能收到)。不知道这样的功能能否用TCP/IP协议来实现,如果不能,是否有其他的方式,希望高手能给出实例。
下面是我写的简单程序:

0 项奖励
1 条消息(共 10 条)
7,069 次查看

初学者不知道尴尬表情最近也在弄数据通信,楼主用的是局域网吗

0 项奖励
2 条消息(共 10 条)
7,058 次查看
TCP是面向连接的传输协议,你可以改用UDP试试
0 项奖励
3 条消息(共 10 条)
7,047 次查看

想做个界面,支持网络数据通信(不仅限于局域网),一般参考书上都没有细说,举得例子也都是局域网,不知道有没有这方面资料推荐一下,或者是给点提示往哪个方面想,谢谢了

0 项奖励
4 条消息(共 10 条)
7,033 次查看

Use Web Services.

 

 

George Zou
0 项奖励
5 条消息(共 10 条)
7,026 次查看

你的数据有多大?传输速率有多快?

0 项奖励
6 条消息(共 10 条)
7,019 次查看

传输的数据量不是很大,大约一秒钟产生几十个数字(DBL),现在已经有解决思路了,如果使用TCP协议可以参照范例里面的一对多传输,或者是采用异步调用,不过这两个范例还没看懂,还有人提到可以使用UDP协议,这应该是最简单的办法吧

0 项奖励
7 条消息(共 10 条)
7,009 次查看

提供另外一个思路: NI 有个东西叫做网络共享变量,用它会很方便,网络方面的编程就不用考虑了。大概的思路是这样:

 

A 电脑启动,产生数据,定时将数据写入到本机的网络共享变量中,无需考虑是否有第二台机器读取该数据。

B 电脑启动,通过网络共享变量的URL,从A机器读取数据。

 

如果数据量不大的话,用它会很方便,因为已经屏蔽了网络编程,复杂度大大降低了。

0 项奖励
8 条消息(共 10 条)
7,003 次查看

看不到代码?

0 项奖励
9 条消息(共 10 条)
3,142 次查看

试试我写过的一对VI,用于1v1的TCP传输

https://gitee.com/nevstop/codes/tmcw0fh9ezxs86j3g2na422

0 项奖励
10 条消息(共 10 条)
3,083 次查看