public async void connect()
{
Debug.WriteLine("WSC connect()...");
if (socket == null)
{
socket = new MessageWebSocket();
if (userAgent != null) socket.SetRequestHeader("X-Signal-Agent", userAgent);
socket.MessageReceived += OnMessageReceived;
socket.Closed += OnClosed;
try
{
Uri server = new Uri(wsUri);
await socket.ConnectAsync(server);
//Connected(this, EventArgs.Empty);
keepAliveTimer = new Timer(sendKeepAlive, null, TimeSpan.FromSeconds(KEEPALIVE_TIMEOUT_SECONDS), TimeSpan.FromSeconds(KEEPALIVE_TIMEOUT_SECONDS));
messageWriter = new DataWriter(socket.OutputStream);
}
catch (Exception e)
{
WebErrorStatus status = WebSocketError.GetStatus(e.GetBaseException().HResult);
switch (status)
{
case WebErrorStatus.CannotConnect:
case WebErrorStatus.NotFound:
case WebErrorStatus.RequestTimeout:
Debug.WriteLine("Cannot connect to the server. Please make sure " +
"to run the server setup script before running the sample.");
break;
case WebErrorStatus.Unknown:
throw;
default:
Debug.WriteLine("Error: " + status);
break;
}
}
Debug.WriteLine("WSC connected...");
}
}