Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

184
Vistas
Imprimir matriz en el servidor node js

Hola, tengo un sitio web desde el que puedo enviar un mensaje al servidor node js y allí el mensaje se guarda en una matriz. Cuando se envía un mensaje nuevo al servidor, el mensaje nuevo sobrescribe el mensaje antiguo de la matriz. La matriz debe contener mensajes nuevos y antiguos. La salida de la consola después de enviar el mensaje.

 const http = require('http'); const { Socket } = require('socket.io'); const WebSocketServer = require('websocket').server; var steviloSporocil = 0; const sporocila=[]; const server = http.createServer(); console.log('Server is on port 3000') server.listen(3000); const wsServer = new WebSocketServer({ httpServer: server }); wsServer.on('request', function(request) { const connection = request.accept(null, request.origin); connection.on('message', function(message) { sporocila[steviloSporocil]=[message.utf8Data]; steviloSporocil++; for (let i = 0; i < steviloSporocil; i++) { connection.sendUTF(sporocila[i]); console.log('Received Message:', sporocila[i]); } }); connection.on('close', function(reasonCode, description) { console.log('Client has disconnected.'); }); });
 <?php ob_start() ?> <?php $titel="Chat"; ?> <div class="chat-main" id="text"></div> <form name='form' method='post' class="form"> <div class="form-group"> <input type="text" class="form-control" id="textbox" name="chat" placeholder="Chat"> <button type="button" class="btn btn-primary" name="gumb" id="gumb" onclick="Poslji()" autocomplete="off">Send</button> </div> </form> <script> function Poslji(){ const ws = new WebSocket('ws://localhost:3000'); ws.onopen = function() { console.log('WebSocket Client Connected'); ws.send(document.getElementById('textbox').value); }; ws.onmessage = function(e) { console.log("Received: '" + e.data + "'"); document.getElementById('text').innerHTML=e.data; }; } </script> <?php $content=ob_get_clean(); require "layout.html.php"; ?>

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Si entendí todo, aquí cómo resolver su problema: toma todos los mensajes anteriores en el índice especificado y agrega el nuevo al final. Si desea agregarlo en la parte superior, simplemente invierta las dos líneas.

 sporocila[steviloSporocil] = [ ...sporocila[steviloSporocil], message.utf8Data ];
about 4 years ago · Juan Pablo Isaza Denunciar

0

Está enviando los mensajes de la matriz al cliente por separado mediante un bucle for y una connection.sendUTF(sporocila[i]); y luego mostrando el último mensaje recibido usando document.getElementById('text').innerHTML=e.data; .

¿Le sorprende que su sitio web solo muestre el último elemento de la matriz?

¿Por qué no enviar la matriz completa usando JSON.stringify y luego JSON.parse en el cliente?

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda