When I create a TCP/IP connection in J2ME it use Bluetooth if a Bluetooth connection is up and running otherwise it use GPRS to communicate with the server. As I understand mRoute works like a gateway and create the connection to the server via TCP/IP.

This is the code I use in J2ME to make the connection:
Connector.open("socket://xxx.xxx.x.xxx:5544"

Is it possible to do the same in C++?

What protocol is used by J2ME to do a TCP/IP connection via mRoute?