节点的Socket.io链接将如何在服务器不是本地主机(wamp / xampp)

我是新来的套接字会议,但我知道它将如何在wamp / xampp本地主机。 但是当我移动到托pipe的服务器。 不起作用。

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

在wamp / xampp上面这个工作。 但在托pipe服务器中找不到。 我应该给src什么。 我的主机是:aaa.bbb.com,其端口是8803或bbb.com,端口是8803。

我试过的方法是包括像

 <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> 

我的服务器端代码是

 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); }); 

在node.js的服务器端,你需要在http服务器上需要io

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

我正在把车把作为我的模板系统,所以,我继续说下去。 在你的家庭模板文件,你会添加

 <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> 

这在我的服务器上运行。

用你的代码:

 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); 

socket.io.jspath是:

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

你需要使用JavaScript或PHP。

Javascript:

(dynamicjs包括)

 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> 

对不起,迟到回答。 它与我的代码本身一起工作。 只认为我们必须允许服务器端口3000。 添加端口号到IP表或禁用服务器防火墙,然后它工作正常:)