2017-02-04 4 views
0

Я собираюсь разработать простой Hello World Websocket с использованием Sails framework V0.12. Мне нужно подключить внешний Basic Front-End (HTML, CSS, JS) к этому серверу Sails WebSocket. Отправьте простое событие и получите «Hello World !!» Я использую Sails API sails.io.js.Подключиться к Sails WebSocket

Я попытался это в Front-End

<!doctype html> 
<html> 

<head> 
    <script type="text/javascript" src="js/dependencies/sails.io.js"></script> 
    <script type="text/javascript"> 
    window.onload = function() { 
     io.sails.url = 'http://localhost:1337'; 

     io.socket.get('http://localhost:1337/helloworld', function(body, sailsResponseObject) { 
      console.log('Sails responded with: ', body); 
      console.log('with headers: ', sailsResponseObject.headers); 
      console.log('and with status code: ', sailsResponseObject.statusCode); 
     }); 


    }; 
    </script> 
</head> 

<body> 
    <ul id='messages'></ul> 
    <button onclick="pagar()">Click me</button> 
</body> 

</html> 

Я знаю, что подключается к парусов, но я я не могу получить ответ WebSocket. Ответ на паруса - 404 (не найден). Как я могу создать этот WebSocket с помощью Sails Socket. Большое спасибо!

+0

Попробуйте удалить http: // localhost: 1337 из io.socket.get ... Я думаю, что клиент sails socket добавляет первый параметр в io.sails.url. – hlozancic

+0

Надеюсь, что [это] (http://stackoverflow.com/questions/40021125/sails-io-js-io-socket-get-user-not-implemented-in-core-yet/40027253#40027253) может помочь вам –

+0

убедитесь, что в парусах config/routes.js содержат маршрут к helloworld ИЛИ в config/blueprints.js имеет возможность включить – Tarek

ответ

0

вы можете попробовать это, работает на парусах 0.12

просмотров/пользователь/*. EJS

<div id='messages'></div> 
<button id="pagar">Click me</button> 
<script> 
$('#pagar').click(function(){  
io.socket.post('/user/message', {message: 'hi world'}); 

}); 

</script> 

API/контроллеры/UserController.js

module.exports = { 
     message: function(req, res) { 

      var io = sails.io; 
      // emit to all sockets    
      io.sockets.emit('code', {message: req.param('message')}); 

     } 
    } 

// фронт- End js активы/js/app.js

io.socket.on('connect', function() { 


    io.socket.on('code', function (data) { 

     $("#messages").text(data.message); 
     console.log('Sails responded: ', data.message); 
    } 
Смежные вопросы