LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Remote DataSocket communication

Solved!
Go to solution

@Joseph_Loo wrote:

One of the things are being asked, do you have a coporate firewall that is connecting between your machine and the internet?

    1. If there, you will need special permission for the corporate system to allow you to talk back and forth. Many

        firewalls are no longer simple systems and can block the connection. This is the reason he is talking about

        a VPN. This allows you to tunnel through the firewall.

    2.  I am not sure if data sockets use TCP/IP or UDP. It has implication on how it can be used. TCP/IP can

        be used and is routable. UDP must exists in the sam subnet and remember, it is a stateless system. It

         will not guarantee the transfer of packets across the network. TCP/IP will.

 


Even a VPN is not that easy to create in a corporate world since the firewall would still need to be configured to allow the VPN. I agree that in term of the addressing the VPN is the easiest from the code perspective. Everything looks like you are on the same network. However companies don't always allow everyone to create the VPN connection. It depends on how paranoid and strict the IT people are.



Mark Yedinak
Certified LabVIEW Architect
LabVIEW Champion

"Does anyone know where the love of God goes when the waves turn the minutes to hours?"
Wreck of the Edmund Fitzgerald - Gordon Lightfoot
0 Kudos
Message 11 of 20
(790 Views)

Hi,

 

One server multiple clients sounds interesting however the model has to be supported by Datasocket communication which is not in our case otherwise it can be used with STMP Gmail as you said or even FTP, this two options are great the only issue here is that they don't allow real time communication (i've forgotten to mention the fact that the data transfer has to be in real time since the data is intended to be used in a monitoring application) FTP allows to send files and download them in ZIP format which cannot be exploited for monitoring purpose and STMP i don't think it's useful to us (for regular data transfer sure it is ), one server multiple clients is just fine if there is a way to make it work with DataSocket server.

 

about my accessibility to firewall/router, it's limited to our company ( What makes me woder if VPN is an appropriate sollution inasmuch there are too many VPN tunels to consider) however there is a good chance to get at least one permission from a client to make a test, what leaves us with TCP/IP option and i have to ask if i can do with TCP/IP the RT communication without performing data logging and downloading operations.

 

There is something i'm not sure about, if we do have a fixed IP address in DNS and even if we do i don't believe others (clients) do, but i will contact responsible people to be sure about this and certainly post my answer.

 

Thank you

 

MGarry

 

0 Kudos
Message 12 of 20
(782 Views)

You need to define the priorities. At the moment, you seem to say that the most important thing is to use Datasocket. Is that because you don't want to touch the code or because you think that's the only thing which will work?

 

If you don't want to touch the code, then go with the VPN.

If you don't mind changing the code and you want real time, then the web service Mark suggested is probably the best option. You will need to define a publicly visible server using a fixed IP address or dynamic DNS and then build a web service which sends data to it and have it publish that web service. The clients will then use the service to send it updated data.


___________________
Try to take over the world!
0 Kudos
Message 13 of 20
(772 Views)

Hi,

 

I'm trying to make VPN connexion using Windows 7 and still have some issues, i insist on using DataSocket because it's easy to manage, a matter of time only, but  i'll be oblieged to use web service if i could not make it work this way.

 

I have a question, i want to communicate with multible machines at the same time using VPN and ensure that these machines wont have access to each other, is this possible?

 

MGarry

0 Kudos
Message 14 of 20
(761 Views)

You have to be a bit clearer what you mean by data access needs to be restricted. If you have a single server, use UDP, and VPN, you can send a broadcast to all the machines at the same time. If you use tcp/ip, you need to communicate with each machine, i.e., you need to talk to establish a communication path between the machines. In any case, data socket is a user define setup, you will have to define the access via the data socket program.

 

Another thought, if you are using vpn, what about network variables. I believe you can control send the data more easily across.

0 Kudos
Message 15 of 20
(749 Views)

Hi,

 

Network variable! I'll look into that see what i can find, i have realized that there are many options to make this work and as i have already started with VPN i want to know if i set up a VPN would i be able, with the programs i've posted, to communicate with a remote machine like i do with the same programs in our LAN ??

 

Thank you

 

MGarry

0 Kudos
Message 16 of 20
(742 Views)

Using multiple TCP connection s is not a problem if you use the single server model. Clients establish the link and once established each will have it's own TCP connection. These connections will not have access to the other connections. However, if the server did need to broadcast something to all of the clients it could.



Mark Yedinak
Certified LabVIEW Architect
LabVIEW Champion

"Does anyone know where the love of God goes when the waves turn the minutes to hours?"
Wreck of the Edmund Fitzgerald - Gordon Lightfoot
0 Kudos
Message 17 of 20
(740 Views)

@MGarry wrote:

Hi,

 

Network variable! I'll look into that see what i can find, i have realized that there are many options to make this work and as i have already started with VPN i want to know if i set up a VPN would i be able, with the programs i've posted, to communicate with a remote machine like i do with the same programs in our LAN ??

 

Thank you

 

MGarry


If you use a VPN it would effectively work like your local LAN. Since you did mention that you will have no control over the client's network you will need to document all of the information required DNS name/IP Address of the server and ports used. This will be required if the client's need to modify their firewalls to allow the communications.



Mark Yedinak
Certified LabVIEW Architect
LabVIEW Champion

"Does anyone know where the love of God goes when the waves turn the minutes to hours?"
Wreck of the Edmund Fitzgerald - Gordon Lightfoot
0 Kudos
Message 18 of 20
(738 Views)

Hi,

 

In order to modify the "one client multiple servers model" i'would like to know if i can run the DataSocket server on the reading machine (in our company) instead of running it on each one of the writing machines (our clients) and get the communication work?

 

Thank you

 

MGarry

0 Kudos
Message 19 of 20
(720 Views)
Solution
Accepted by topic author MGarry

Hi,

 

I did everything i knew to make communication happen :

 

I kept the VIs unchanged

 

Server side:

 

- I created PPTP VPN on windows 7.


- I did the port forwarding (1723 TCP - 3015 TCP) to the local IP address.

 

- I opened the same ports on the firewall and allowed the GRE protocol.

 

Client side:

 

- I oppened the ports and allowed GRE protocol.

 

- I didn't make any port forwarding because i think it's unnecessary

 

is there anything else i forgot to do?

 

MGarry

0 Kudos
Message 20 of 20
(705 Views)