views:

41

answers:

1

I want to build an application client(client.exe) - server to do the following: when the clients run it they are thrown in a VPN and they can communicate each other within 1 applicataion. For example : clients run client.exe and they can see each other in LAN ONLY in Starcraft. From what i have read the right type of vpn for this situation is Secured Socket Tunneling Protocol: "Secure socket tunneling protocol, also referred to as SSTP, is by definition an application-layer protocol. It is designed to employ a synchronous communication in a back and forth motion between two programs. It allows many application endpoints over one network connection, between peer nodes, thereby enabling efficient usage of the communication resources that are available to that network. "

  1. Question: I don't have experience with networking programming so my question for the ones who have, is this the right approach?

  2. PS1: i don't want something done like OpenVpn, i do this as learning exercise.

  3. PS2: the application is targeting Windows and i plan to use .NET

Thanks for reading the whole story, i am waiting for your replies.

A: 

You might be better off using a dedicated vpn client to do the network management for you, and regardless of what vpn client you use, you can see the IP address of the LAN remotely through the tunnel..by using OpenVPN windows client, it will transparently connect to the vpn server and manages the network connections etc so you don't have to do anything special at all... the client you code up can access the IP address as allocated by the VPN and the data gets transmitted across.

However, I do not recommend coding up a VPN client yourself as you are opening yourself up to headaches and grief as you have stated you have no prior network programming experience, you are throwing yourself into the deep end.

This is not to put you off, I recommend you look at a few sites that specializes in socket programming, I am not 100% confident if there is an openssl library (Secure Socket Library) for the .NET environment, this will give you the direction to take.

tommieb75