socket elephant php node.js socket.io

php - elephant - nodo Socket.io vincula cómo se dará en el servidor no localhost(wamp/xampp)



elephant io (3)

Soy nuevo en la sesión de socket pero aprendí cómo funcionará en wamp / xampp localhost. Pero cuando me muevo al servidor que aloja. no funcionará.

<script src="http://localhost:3000/socket.io/socket.io.js"></script>

Sobre este trabajo en wamp / xampp. pero no se encuentra en el servidor de alojamiento. ¿Qué debería dar en src? Mi alojamiento es como: aaa.bbb.com y su puerto es 8803 o bbb.com y su puerto es 8803.

He intentado las formas son para ser incluido como

<script src="/socket.io/socket.io.js"></script> <script src="http://aaa.bbb.com:3000/socket.io/socket.io.js"></script> <script src="http://bbb.com:3000/socket.io/socket.io.js"></script>

Mi código del lado del servidor es

var express = require(''express''); var app = express(); var socket = require(''socket.io''); var server = require(''http'').createServer(app); server.listen(3000); var io = socket.listen(server); var async = require(''async''); var mysql= require(''mysql''); var pool = mysql.createPool({ host : ''XXXXX'', user : ''XXXXX'', password : ''XXXX'', database:''XXXXX'', }); var chatserver=require(''./chatserver.js''); var chatpage=io.of(''/as/chatRoom'').authorization(function (handshakeData, callback) { console.dir(handshakeData); handshakeData.page = ''/welcome/chatRoom''; callback(null, true); }).on(''connection'', function (socket) { console.dir(socket.handshake.page); chatserver.getUserFeeds(chatpage,socket,io,pool,async); });


En el lado del servidor de index.js del nodo necesitarás requerir io, en el servidor http

var app = require(''express'')(), http = require(''http'').Server(app), io = require(''socket.io'')(http);`

Estoy utilizando manubrios como mi sistema de plantillas, así que sigo. En su archivo de plantilla de inicio agregará

<script> var socket = io.connect(''http://bbb.com:3000''); socket.on(''connect'', function(){ socket.emit(''authenticate'', {data: "token"}); socket.on(''error'', function(err){ alert(err); }); socket.on(''unauthorized'', function(err){ alert("Disconnected"); console.log("There was an error with the authentication:", err.message); }); socket.on(''disconnected'', function() { alert(''Disconnected'') }); }); </script>

Eso funciona para mí en el servidor en vivo.


Con tu código:

var express = require(''express''); var app = express(); var socket = require(''socket.io''); var server = require(''http'').createServer(app); server.listen(3000); var io = socket.listen(server);

La ruta de socket.io.js es:

http://127.0.0.1:3000/socket.io/socket.io.js

Necesita usar javascript o php.

Javascript:

(Dynamic js include)

var PORT = 3000; var script = document.createElement("script"); script.type = "text/javascript"; script.src = "http://" + document.location.hostname + ":" + PORT + "/socket.io/socket.io.js"; script.onerror = function () { console.log("Socket.io: unfound."); }; script.onload = function () { console.log("Socket.io: loaded."); // Your code here. // startSocketIO(); }; document.getElementsByTagName("head")[0].appendChild(script); // <script type="text/javascript" src="http://127.0.0.1:3000/socket.io/socket.io.js"></script>

PHP:

<script src="http://<?=$_SERVER["SERVER_NAME"]?>:3000/socket.io/socket.io.js"></script>


Perdón por contestar tarde. Funciona con mi código en sí. Solo creo que tenemos que permitir el PORT 3000 en el servidor. Agregue el número de puerto a las tablas IP o deshabilite el servidor de seguridad y luego funciona bien :)