private void WebSocketClient_OnReceiveMessage(WebSocketClient.Core.WebSocketClient webSocketClient, string message) { if (OnReceiveMessage != null) { OnReceiveMessage.Invoke(this, Newtonsoft.Json.JsonConvert.DeserializeObject <ReceiveMessage>(message)); } }
public ChatClient(Guid UserId, string Password, string Ip, int Port, string SubProtocol) { this.UserId = UserId; WebSocketClient = new WebSocketClient.Core.WebSocketClient(UserId.ToString(), Ip, Port, SubProtocol); WebSocketClient.OnReceiveMessage += WebSocketClient_OnReceiveMessage; WebSocketClient.SetEncoding(Encoding.UTF8); CredentialCache myCache = new CredentialCache(); myCache.Add(new Uri($"http://{Ip}:{Port}/"), "Basic", new NetworkCredential(UserId.ToString(), Password)); myCache.Add(new Uri($"http://{Ip}:{Port}/"), "Digest", new NetworkCredential(UserId.ToString(), Password)); myCache.Add(new Uri($"ws://{Ip}:{Port}/"), "Basic", new NetworkCredential(UserId.ToString(), Password)); myCache.Add(new Uri($"ws://{Ip}:{Port}/"), "Digest", new NetworkCredential(UserId.ToString(), Password)); WebSocketClient.ClientWebSocket.Options.Credentials = myCache; WebSocketClient.ClientWebSocket.Options.Cookies = new CookieContainer(); WebSocketClient.ClientWebSocket.Options.Cookies.Add(new Uri($"http://{Ip}:{Port}/"), new Cookie("UId", UserId.ToString())); }