public MainViewModel(DeviceSocketConnection deviceSocketConnection)
 {
     m_deviceSocketConnection = deviceSocketConnection;
     deviceSocketConnection.OnMessageReceived += DeviceSocketConnection_OnMessageReceived;
     deviceSocketConnection.OnSocketClosed    += DeviceSocketConnection_OnSocketClosed;
     deviceSocketConnection.RunReceiveLoop();
 }
        public async Task ConnectAsync(string mothershipName, Action onNameAssignedAction)
        {
            m_onNameAssignedAction   = onNameAssignedAction;
            m_deviceSocketConnection = await DeviceSocketConnection.CreateAsync(WebUrls.ClientSocketUrl(mothershipName));

            m_deviceSocketConnection.OnMessageReceived += M_deviceSocketConnection_OnMessageReceived;
            m_deviceSocketConnection.OnSocketClosed    += M_deviceSocketConnection_OnSocketClosed;
            m_deviceSocketConnection.RunReceiveLoop();
        }