Connect two pc's over internet to send incidental data

I have a computer running TD on a remote location on the other part of town, and I have one computer running TD in my studio. I would like them to send incidental midi or osc data to each other.

I used the OSC out Snippet succesfully on my own network and managed to get communication between two computers.

When I want to connect to the coputer on the remote location I get stuck. Using the remote IP adress does not work in the OSC and UDP nodes. Is it possible to connect these computers over the internet, and if so, what can I do to establish this connection?

hi,

it should be possible but you will need to set a WLAN connection through a NAT to transmit data from local to public IP addresses. Check your router / box for the setup.

Hi Gallo,

Thnaks for the quick reply. I’ll do some research on WLAN and NAT then! I hope I can manage to establish a stable connection without to much hassle on a router, since the remote computer is on a company network with their own router and firewall. I think I can arrange them to open a few ports though. I’ll come back here later if I have found a solution.

All the best,

Rob

the idea is that the computers have a local IP address (like 10.x.x.x or 172.16.x.x or 192.168.x.x)
they are not reachable from the outside (internet). So you have to tell your box or router, which have a public IP address, to re-route communication targeting its public IP on a specific port, to a local IP on a specific port.

Another option is to create a VPN between the two machines. As the acronym says you’ll get a Virtual Private Network, so both machines will think they have a local connection between them, and you will be able to use all normal TD operators like OSC in/out or Touch In/Out DAT etc.

not sure if it is still the case, but Hamachi used to be the easiest software-only way to set this up very quickly, free up to 5 machines:
https://www.vpn.net/

1 Like

Wow that is a great suggestion thanks! I do not need to make any changes in a router for this right? That is excellent.

I made an OSC over Internet system based on WebSockets that can transmit data to any IP over the world, without VPN! :smiley:
It is a solution for a specific customer, so I don’t have interface and functions are limited, but it can be improved.
I used it sending and receiving to and from TD, Unity, TouchOSC, both on Windows and Mac.
If you are interested please contact me in private.

1 Like

I tried the VPN you suggested, it works excellent! So thanks again for the advise, it was really helpfull.

2 Likes

ZeroTier is another excellent layer 2 VPN. I use it on all my operating systems for heaps of different things, IOS too.

Good call with Hamachi!

This sounds really cool - I will take a guess and ask if you are using a web server in the middle?

I would love to hear more about it! It’s a super idea.

Hi Nick,

I managed to get communicatation going without a webserver. With Logmein you can connect 2 computers over a VPN and all you need to do is enter the ip adress in the Touch out Chop.

1 Like

So, I don’t remember exactly how it works, I should loof for the project and repoen it…
Anyway: the idea was this:

  1. create a little webSocket server and let it run at a public IP address. I just made a little java script and let it run on a PC with opened 3333 port in firewall (and NAT redirection on the internet router).
    This Java just accepts connections from port 3333, takes data, accepts connections from port 3334.
    It takes data from 3333 and send it to port 3334 (even at many connections).
    It can help to identify the IP public address with some services like virtualDNS.
  2. Now you have to connect your oscout dat to the public IP address at port 3333, on the sending computer.
  3. Then you have to connect a websocket dat to the public IP address at port 3334.
    Your OSC data will be received as string form the websocket dat.
1 Like