public void SendServerMessageToGroup(NetMessage message, ConnectionGroup group) { int messageLength = message.Encode(); byte error; // Send it out foreach (ClientData client in clients) { if (group == ConnectionGroup.lobby && client.inGame) { continue; } if (group == ConnectionGroup.game && !client.inGame) { continue; } if (client.connectionID == -1) { if (message.AlsoExecuteOnServer()) { message.DecodeAndExecute(client); } } NetworkTransport.Send(hostID, client.connectionID, channelID, NetMessage.buffer, messageLength, out error); } }
public void SendServerMessageToOne(NetMessage message, int connectionID) { int messageLength = message.Encode(); List <int> list = new List <int>(); list.Add(connectionID); byte error; NetworkTransport.Send(hostID, connectionID, channelID, NetMessage.buffer, messageLength, out error); }
/// <summary> /// Sends the specified message. /// </summary> internal static void Send(NetSocket destinationSocket, NetMessage message, byte[] sessionId = null) { if (destinationSocket == null) { throw new ArgumentNullException("destinationSocket"); } message.SetServiceNodeType(ServiceCore.ServiceNodeType); message.SetServiceNodeId(ServiceCore.ServiceNodeId); message.SetSessionId(sessionId); message.Encode(); NetMessaging._messageHandler.Send(destinationSocket, new NetPacket(message)); }
public void SendClientMessage(NetMessage message) { int messageLength = message.Encode(); if (isServer) { message.DecodeAndExecute(GetThisServerClient()); } else { byte error; NetworkTransport.Send(hostID, serverConnectionID, channelID, NetMessage.buffer, messageLength, out error); if (error != 0) { SceneManager.LoadScene(0); } } }