public SendMessage ( NetOutgoingMessage msg, NetConnection recipient, NetDeliveryMethod method ) : NetSendResult | ||
msg | NetOutgoingMessage | The message to send |
recipient | NetConnection | The recipient connection |
method | NetDeliveryMethod | How to deliver the message |
return | NetSendResult |
void checkToCheckup(GameTime gameTime) { if (iAmServer) { return; } timeSinceLastCheckup += (float)gameTime.ElapsedGameTime.TotalSeconds; if (timeSinceLastCheckup >= checkupDelay) { timeSinceLastCheckup = 0f; NetOutgoingMessage msg = netPeer.CreateMessage(); msg.Write(MessageID.CHECKUP); netPeer.SendMessage(msg, connection, NetDeliveryMethod.ReliableUnordered); } }
/// <summary> /// Send a message to this remote connection /// </summary> /// <param name="msg">The message to send</param> /// <param name="method">How to deliver the message</param> /// <param name="sequenceChannel">Sequence channel within the delivery method</param> public NetSendResult SendMessage(NetOutgoingMessage msg, NetDeliveryMethod method, int sequenceChannel) { return(m_peer.SendMessage(msg, this, method, sequenceChannel)); }
public void checkForStatusUpdate(NetPeer netPeer, NetConnection connection, int team) { if (AmountChanged && ((team == Player.Me.Team && timeSinceStatusUpdate >= statusUpdateDelay) || Depleted)) { timeSinceStatusUpdate = 0f; AmountChanged = false; NetOutgoingMessage msg = netPeer.CreateMessage(); msg.Write(MessageID.RESOURCE_STATUS_UPDATE); msg.Write(ID); msg.Write((short)Amount); netPeer.SendMessage(msg, connection, NetDeliveryMethod.ReliableOrdered); } }
public void CheckForStatusUpdate(GameTime gameTime, NetPeer netPeer, NetConnection connection) { timeSinceStatusUpdate += (float)gameTime.ElapsedGameTime.TotalSeconds; if (timeSinceStatusUpdate >= statusUpdateDelay) { timeSinceStatusUpdate = 0f; if (Team == Player.Me.Team) { NetOutgoingMessage msg = netPeer.CreateMessage(); msg.Write(MessageID.UNIT_STATUS_UPDATE); msg.Write(ID); msg.Write(Team); msg.Write((short)Hp); msg.Write(centerPoint.X); msg.Write(centerPoint.Y); msg.Write(Rotation); msg.Write(IsIdle); // send current command ID, -1 if none if (Commands.Count > 0) msg.Write(Commands[0].ID); else msg.Write((short)-1); // send cargoAmount, 0 if not worker WorkerNublet worker = this as WorkerNublet; if (worker != null) msg.Write(worker.CargoAmount); else msg.Write((short)0); netPeer.SendMessage(msg, connection, NetDeliveryMethod.ReliableOrdered); } else if (HpChanged) { HpChanged = false; NetOutgoingMessage msg = netPeer.CreateMessage(); msg.Write(MessageID.UNIT_HP_UPDATE); msg.Write(ID); msg.Write(Team); msg.Write((short)Hp); netPeer.SendMessage(msg, connection, NetDeliveryMethod.ReliableOrdered); } } }
private void Send(NetPeer peer, NetConnection destination, NetDeliveryMethod method) { NetOutgoingMessage nom = peer.CreateMessage(InitialMessageSize()); nom.Write(this.GetType().FullName); this.WriteData(nom); peer.SendMessage(nom, destination, method); }
public static void SendMessage(NetPeer peer, NetworkMessageType networkMessageType, int data, NetConnection recipient) { NetOutgoingMessage message = peer.CreateMessage(); message.Write((byte)networkMessageType); message.Write(data, 32); peer.SendMessage(message, recipient, NetDeliveryMethod.ReliableUnordered); }
public static void SendMCS() { Console.WriteLine("Enter Port: "); int port = int.Parse(Console.ReadLine()); NetPeerConfiguration config = new NetPeerConfiguration("InduZtry"); config.Port = port; config.EnableMessageType(NetIncomingMessageType.DiscoveryRequest); config.EnableMessageType(NetIncomingMessageType.Data); //config.EnableUPnP = true; server = new NetPeer(config); server.Start(); //Console.WriteLine(server.UPnP.Status); //server.UPnP.ForwardPort(port, "InduZtry"); //Console.WriteLine(server.UPnP.Status); //Console.WriteLine("UPnP IP: " + server.UPnP.GetExternalIP()); Thread t = new Thread(RecvMCS); t.IsBackground = true; t.Start(); message = "NULL"; while(true) { Thread.Sleep(10); if(recipient != null) { NetOutgoingMessage sendMsg = server.CreateMessage(); sendMsg.Write(message); server.SendMessage(sendMsg, recipient, NetDeliveryMethod.ReliableOrdered); } } }
public void CheckForStatusUpdate(GameTime gameTime, NetPeer netPeer, NetConnection connection) { timeSinceStatusUpdate += (float)gameTime.ElapsedGameTime.TotalSeconds; if (HpChanged && timeSinceStatusUpdate >= statusUpdateDelay) { timeSinceStatusUpdate = 0f; HpChanged = false; NetOutgoingMessage msg = netPeer.CreateMessage(); msg.Write(MessageID.STRUCTURE_STATUS_UPDATE); msg.Write(ID); msg.Write(Team); msg.Write((short)Hp); netPeer.SendMessage(msg, connection, NetDeliveryMethod.ReliableOrdered); } }