protected virtual void NetworkManager_m_onDataReceived(int _sender, byte[] _data, int _receivedBytes) { Debug.Log("Received message from " + (IsServer ? "Server" : "Client")); AMessageBase message = AMessageBase.ConstructMessage(_sender, _data, _receivedBytes); message?.Use(); }
public void SendMessageToClients(AMessageBase _message, QosType _channel = QosType.Reliable) { int bytesLength; byte[] buffer = _message.Serialize(out bytesLength); byte error; byte channelID = 0; switch (_channel) { case QosType.Unreliable: channelID = m_unreliableChannel; break; case QosType.Reliable: channelID = m_reliableChannel; break; case QosType.StateUpdate: channelID = m_unreliableStateUpdateChannel; break; default: Debug.LogError("Could not find channel! " + _channel); break; } foreach (int id in m_allClients) { if (id == m_clientID || id == m_clientID + 1) { continue; } NetworkTransport.Send(m_hostID, id, channelID, buffer, bytesLength, out error); NetworkError networkError = (NetworkError)error; if (networkError != NetworkError.Ok) { Debug.LogError("Fehler beim Senden!" + networkError); } } }