public void sendMessage(QTMessage message) { lock (sendLock) { try { if (client.Connected == false) { return; } byte[] bytes = QTUtils.MessageToByteArray(message); byte[] sizeBytes = BitConverter.GetBytes(bytes.Length); try { debugSent(sizeBytes, bytes); thread.stream.Write(sizeBytes, 0, sizeBytes.Length); thread.stream.Write(bytes, 0, bytes.Length); } catch (Exception e) { QTDebugger.instance.debugWarning(QTDebugger.debugType.NETWORK, "[" + type + "_base] Error while writing the NetworkStream-"); QTDebugger.instance.debugError(QTDebugger.debugType.NETWORK, e); closeConnection(); } var responsableValid = message as QTResponsableMessage; if (responsableValid != null) { QTResponsableMessage responseMessage = (QTResponsableMessage)message; awaitingResponse.Add(responseMessage.responseID, responseMessage); } onMessageSent(message); } catch (Exception e) { Debug.LogWarning(e); } } }