Type Property
      
 

Description

Holds the channel type.

Property type

A ChannelTypesEnum enumeration.  

Syntax

object.Type

The Type Property syntax has these parts:

PartDescription
objectAn expression evaluating to an object of type VPNChannel.

Remarks

Channel type is very important as it describes how channel operates - whether is initiates or accepts connections.

There are 5 types of channels:

TCPLocalListen which makes local wodVPN instance to listen on LocalAddress and on LocalPort and accept connections. When new user tries to connect, it fires UserConnecting, asks for confirmation from remote side that it accepts this connection too, and then fires UserConnected event. After this event, all traffic that arrives from this user is forwarded to remote side, which will then forward it to address specified in RemoteAddress and RemotePort, as visible from remote side.

Note: if you set RemoteAddress to "127.0.0.1", it will reference remote peer - not the local one!

UDPLocalListen is same as above, but uses UDP packets. Note that UDP packets are not reliable! There are no guarantees that remote side will receive it.

TCPRemoteListen makes remote wodVPN to listen and accepts connections, and then forwards them through encrypted tunnel to local wodVPN instance, which then forwards them to address specified in LocalAddress and LocalPort, as visible from local side. This can be local computer, or any other address accessible from local computer (even on internet). Packets, of course, go in other direction back to originator on remote side.

UDPRemoteListen is same as above, but uses UDP packets. Note that UDP packets are not reliable! There are no guarantees that remote side will receive it.

TCPSocksProxy will make local wodVPN open local port (usually port 1080 is used for SOCKS), but doesn't bind anything on remote side yet. When connection arrives, wodVPN sends dynamic request to remote wodVPN to forward connection. Basically this is same as TCPLocalListen, but RemoteAddress and RemotePort isn't know in advance. You can use this channel with any application that knows how to "speak" with socks proxy. SocksConnect event will be fired when new user arrives.
Clients that want to bind remote port can be used too. This is very similar to TCPRemoteListen but remote address isn't known in advance. SocksBind event will be fired when user makes such request.