TCP/UDP within Mango is supported by Java. Pretty typical stuff. As for communicating with your devices, Mango is capable of using many protocols (with new ones being added frequently). With respect to your list (although i'm not sure what the "server" part of "server/http..." is), Mango can receive HTTP requests with point data in the parameters, and can also talk to SQL databases.

Each protocol implements its own ways of communicating different types of data, so there is no quick answer to your question about "communication structure". Once the data gets to Mango though, each data stream becomes a "point", which has a data type. Current data types supported are binary, multistate, numeric, and alphanumeric. I'm not sure what exactly you're looking for in an answer, but i'm pretty sure Mango can do whatever you need to do with that data.

As for GPS data, we have been considering adding complex data types (such as lat/long) for some time. We're basically just waiting for enough users to say they want it.