public void ProcessMessages() { NetIncomingMessage message; while ((message = _netServer.ReadMessage()) != null) { switch (message.MessageType) { case NetIncomingMessageType.Data: var data = message.ReadString(); DataReceived?.Invoke(message.SenderConnection, data); break; case NetIncomingMessageType.StatusChanged: switch (message.SenderConnection.Status) { case NetConnectionStatus.Connected: ClientConnected?.Invoke(message.SenderConnection.RemoteHailMessage.ReadString()); break; case NetConnectionStatus.Disconnected: ClientDisconected?.Invoke(message.SenderConnection.RemoteHailMessage.ReadString()); break; } break; } _netServer.Recycle(message); } }
public override void OnClientDisconnect(NetworkConnection conn) { //Base handling base.OnClientDisconnect(conn); //Just fire the event if (ClientDisconected != null) { ClientDisconected.Invoke(conn); } }
public void Disconnect(string message = "bye") { _client.Disconnect("bye"); ClientDisconected?.Invoke(); mainThread.Abort(); }