public override void render(float elapsedTime) { Device d3dDevice = GuiController.Instance.D3dDevice; //Actualizar siempre primero todos los valores de red. //Esto hace que el cliente y el servidor reciban todos los mensajes y actualicen su es networkingMod.updateNetwork(); //Si el server está online, analizar sus mensajes if (networkingMod.Server.Online) { //Analizar los mensajes recibidos for (int i = 0; i < networkingMod.Server.ReceivedMessagesCount; i++) { //Leer el siguiente mensaje, cada vez que llamamos a nextReceivedMessage() consumimos un mensaje pendiente. TgcSocketClientRecvMesg msg = networkingMod.Server.nextReceivedMessage(); //Obtenter el primer elemento del mensaje, un string en este caso string strMsg = (string)msg.Msg.readNext(); //Mostrar mensaje recibido en consola GuiController.Instance.Logger.log(strMsg, Color.Green); } } //Si el cliente está online, analizar sus mensajes if (networkingMod.Client.Online) { //Mandamos un mensaje al server cada 1 segundo acumulatedTime += elapsedTime; if (acumulatedTime > 1) { acumulatedTime = 0; //Crear nuevo mensaje a enviar TgcSocketSendMsg msg = new TgcSocketSendMsg(); //Agregar un dato al mensaje, un string en este caso msg.write("Hello world - ElapsedTime: " + elapsedTime); //Enviar mensaje al server networkingMod.Client.send(msg); } } }
public override void render(float elapsedTime) { //Actualizar siempre primero todos los valores de red. //Esto hace que el cliente y el servidor reciban todos los mensajes y actualicen su estado interno networkingMod.updateNetwork(); //Analizar eventos en el server if (networkingMod.Server.Online) { updateServer(); } //Analizar eventos en el cliente if (networkingMod.Client.Online) { updateClient(); } }