2015-10-12 3 views
0

Моей Sails версия 0.11.2 и работает с портом 1337Получения сокет ошибки пытается подключиться к парусам

В активах/JS/зависимости/sails.io.js, я могу видеть, как версию 0.11.0

Ниже приведен сценарий клиентской стороны.

<script src="http://localhost/project/assets/js/dependencies/sails.io.js"></script> 
<script type="text/javascript"> 

// `io` is available as a global. 
// `io.socket` will connect automatically, but at this point in the DOM, it is not ready yet 
// (think of $(document).ready() from jQuery) 
// 
// Fortunately, this library provides an abstraction to avoid this issue. 
// Requests you make before `io` is ready will be queued and replayed automatically when the socket connects. 
// To disable this behavior or configure other things, you can set properties on `io.sails`. 
// You have one cycle of the event loop to set `io.sails.autoConnect` to false before the auto-connection 
// behavior starts. 

io.socket.get('/hello', function serverResponded (body, JWR) { 

    // JWR ==> "JSON WebSocket Response" 
    console.log('Sails responded with: ', body); 
    console.log('with headers: ', JWR.headers); 
    console.log('and with status code: ', JWR.statusCode); 

    // first argument `body` === `JWR.body` 
    // (just for convenience, and to maintain familiar usage, a la `JQuery.get()`) 
}); 

Я получаю сообщение об ошибке, как

Socket is trying to reconnect to Sails... 

Когда я проверил некоторые другие сообщения, там говорят что-то связанное с версией парусами. Я попытался изменить версию sails.io.js на 0.11.2, но все равно такую ​​же ошибку.

У этой ошибки есть какое-либо соединение с портом? Поскольку ответ снизу запросу 404

http://localhost/socket.io/?__sails_io_sdk_version=0.11.2&__sails_io_sdk_platform=browser&__sails_io_sdk_language=javascript&EIO=3&transport=polling&t=1444654910110-52 

Response

<p>The requested URL /socket.io/ was not found on this server.</p> 
<address>Apache/2.2.22 (Ubuntu) Server at localhost Port 80</address> 

Любая помощь, что не так?

ответ

5

Вы запустили приложение Sails на порт 1337, но загрузка файла sails.io.js из порта 80 (потому что вы не указали другой порт):

<script src="http://localhost/project/assets/js/dependencies/sails.io.js"> 

Я предполагаю, что у вас есть сервер Apache работает на порт 80, поэтому он находит файл sails.io.js и возвращает его, но затем клиент сокета предполагает, что он должен также подключаться к порту 80.

Либо обновить script тег с портом:

<script src="http://localhost:1337/js/dependencies/sails.io.js"> 

или указать альтернативный URL для сокета для подключения, используя следующий код перед io.socket.get:

io.sails.url = "http://localhost:1337"; 
+0

Привет спасибо за suggetions , Второй вариант работал :) – jpk

+0

Прохладный ... понял, что я не дал вам правильный путь для файла .js при загрузке его из Sails (поскольку он раскрывает папку 'assets' как _root_ ваших общедоступных файлов). Исправлено так, что оба варианта должны работать. – sgress454

+0

Да, правильно разоблачить фактический путь проекта. Я изменил путь согласно вашему предложению.

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