public void OnServiceDisconnectHandler() { //OnPeerDisconnectedEventHandler(); MessageBoxResult result = MessageBox.Show("Disconnected"); if (result == MessageBoxResult.OK) { OnPeerDisconnectedEvent?.Invoke(); } }
/// <summary> /// Setup all services used by server /// </summary> /// <param name="server"></param> private void SetupService(WebSocketServer server) { // Master server service server.AddWebSocketService <WsService>($"/app/{ApplicationKey}", (serviceForPeer) => { serviceForPeer.IgnoreExtensions = true; serviceForPeer.SetServerSocket(this); var peer = new WsServerPeer(serviceForPeer); serviceForPeer.OnOpenEvent += () => { Logs.Debug($"Connection for peer [{peer.Id}] is open"); }; serviceForPeer.OnMessageEvent += (data) => { peer.HandleDataReceived(data); }; ExecuteOnUpdate(() => { //MstTimer.Instance.StartCoroutine(peer.SendDelayedMessages(initialSendMessageDelayTime)); OnPeerConnectedEvent?.Invoke(peer); }); serviceForPeer.OnCloseEvent += reason => { OnPeerDisconnectedEvent?.Invoke(peer); peer.NotifyDisconnectEvent(); }; serviceForPeer.OnErrorEvent += reason => { Logs.Error(reason); peer.NotifyDisconnectEvent(); }; }); // Echo test service server.AddWebSocketService <EchoService>("/echo"); }
private void OnPeerDisconnectedEventHandler(IPeer peer) { logger.Debug($"Client {peer.Id} disconnected from server. Total clients are: {connectedPeers.Count - 1}"); // Remove listener to messages peer.OnMessageReceivedEvent -= OnMessageReceived; // Remove the peer connectedPeers.Remove(peer.Id); var extension = peer.GetExtension <SecurityInfoPeerExtension>(); if (extension != null) { // Remove from guid lookup peersByGuidLookup.Remove(extension.UniqueGuid); } // Invoke the event OnPeerDisconnectedEvent?.Invoke(peer); OnPeerDisconnected(peer); }