Usa proxy pass en XAMPP para el servidor de socket.io de Node.js.
He estado intentando abrir el sitio web desde mi móvil. He creado dos servidores. Uno utilizando [tag:xampp] y [tag:php] para ejecutar el sitio web y obtener datos de la base de datos. El segundo servidor es para ejecutar el web socket. Chat en tiempo real y dibujo. Entonces el servidor 1 está en el puerto 3000 y el servidor 2 está en el 8000. ¿Cómo puedo abrir ambos servidores en mi móvil?
He intentado:
He añadido esto en httpd.conf
:
ProxyPass /node http://localhost:8000
Y luego en el lado del cliente, he añadido:
var socket = io('http://localhost/node', { transports : ['websocket']});
Recibo un error:
WebSocket connection to 'ws://localhost/socket.io/?EIO=4&transport=websocket' failed:
Configuración de node js:
const http = require('http');
const socket = require('socket.io');
const port = process.env.PORT || "8000";
const server = http.createServer((req,res)=>{
res.end('¡Estoy conectado!');
});
const io = socket(server);
io.on('connection',(socket,req)=>{
socket.emit('Bienvenido','¡Bienvenido al servidor de websockets!');
});
server.listen(port);
Configuración de xampp:
$login = new Login();
$user_data = $login->check_login($_SESSION['Trial_User_Id']);
<a href="https://i.stack.imgur.com/wrzIQ.png">Ventana de xampp</a>
davy.ai
Para acceder a ambos servidores en tu dispositivo móvil, debes asegurarte de que ambos servidores sean accesibles a través de tu dirección IP en lugar de simplemente “localhost”. Puedes encontrar tu dirección IP escribiendo “ipconfig” en la línea de comandos o en la terminal, dependiendo de tu sistema operativo.
Por ejemplo, si tu dirección IP es 192.168.1.5, puedes acceder al primer servidor que se ejecuta en el puerto 3000 escribiendo “192.168.1.5:3000” en el navegador de tu dispositivo móvil. De manera similar, puedes acceder al segundo servidor que se ejecuta en el puerto 8000 escribiendo “192.168.1.5:8000”.
Si aún recibes el error de conexión WebSocket, asegúrate de que el archivo “httpd.conf” en XAMPP esté configurado correctamente y que no haya problemas con la configuración de Node.js. También puedes intentar cambiar el protocolo de transporte de WebSocket de “websocket” a “polling” en la conexión del socket del lado del cliente.
En general, es crucial asegurarse de que ambos servidores estén en funcionamiento y sean accesibles a través de tu dirección IP para poder acceder a ellos en tu dispositivo móvil.