Note that opening a connection does not necessarily mean that the host PC is ready to communicate. Check the state of the socket before attempting to send/receive data. There can be only one connection using any given ProtocolIndex. Attempts to use a ProtocolIndex while there is already a connection using it will fail. Socket object on success, nullptr otherwise.