2015-02-24 2 views
2

Я пытаюсь получить сокет IO для работы, но я продолжаю получать отказ в подключении. Я предполагаю, что соединение отказалось лучше, чем время ожидания соединения, так как отказалось, значит, что-то останавливает его где-то?SocketIO соединение отказано

Во всяком случае коды из socketIO's tutorial website:

стороны клиента, расположенной в /home/server/nodejs/expressocket.js:

var app = require('http').createServer(handler) 
var io = require('socket.io')(app); 
var fs = require('fs'); 

app.listen(8000); 

function handler (req, res) { 
    fs.readFile(__dirname + '../public_html/socketio.htm', 
    function (err, data) { 
    if (err) { 
     res.writeHead(500); 
     return res.end('Error loading index.html'); 
    } 

    res.writeHead(200); 
    res.end(data); 
    }); 
} 

io.on('connection', function (socket) { 
    socket.emit('news', { hello: 'world' }); 
    socket.on('my other event', function (data) { 
    console.log(data); 
    }); 
}); 

И тогда на стороне сервера находится в /home/server/public_html/socketio.js

<!DOCTYPE html> 
<head> 
    <script src="https://cdn.socket.io/socket.io-1.3.4.js"></script> 
</head> 
<body> 
    <h1>Socket IO Test</h1> 
    <script> 
    var socket = io('http://localhost:8000'); 
    socket.on('news', function (data) { 
    console.log(data); 
    socket.emit('my other event', { my: 'data' }); 
    }); 
    </script> 
</body> 
</html> 

У меня есть право порта там, и сервер должен прослушивать этот порт. Но почему это получает отказ?

ответ

4

Использовать var socket = io.connect('http://localhost:8000/'); вместо var socket = io ('http://localhost:8000');

также, если вы сделали npm install вы можете использовать

<script src="http://localhost:8080/socket.io/socket.io.js"></script> 
+0

спасибо за ответы. Я действительно получаю теперь, где с этим. Я изменил клиентскую сторону, как вы сказали, но все же отказ в подключении отказался. – Chud37

+0

Мне удалось заставить его работать! Брандмауэр на моем сервере блокировал соединение, поэтому я открыл его и установил его в goto 'var socket = io ('server.com:8000 /')' и он работал :) Большое вам спасибо за вашу помощь. – Chud37

+0

Спасибо :) :) –

Смежные вопросы