private void ReceivingThread() { while (state == State.Running) { try { INetworkMessage message = NetworkMessageSerializer.Deserialize(networkStream); message.InitializeOnReceived(this); Debug.Log("Received " + message); messagesToProcess.Enqueue(message); message.PostEvent(); didReceiveSinceLastUpdate = true; } catch (ThreadAbortException) { return; } catch (Exception ex) { Debug.Log("Exception while deserializing a network message: " + ex); Close(); } } }