Socket.io with koa



我正在开发一个带有socket.io/koa的iOS应用程序(https://github.com/koajs/koa)服务连接。为了测试我使用的thor(https://github.com/observing/thor)。问题是,我的socket.io服务不会返回任何内容。当我查看thors的响应时,我发现有一个连接,但没有来自服务的回调。这是我构建和测试socket.io服务的代码:

var server = require('http').Server(app.callback()),
    io = require('socket.io')(server);
io.on('connection', function(socket) {
  socket.emit('news', { hello: 'world' });
  console.log('it works.');
});

在我看来,控制台上应该有一个日志,在我的客户看来应该写上"{hello:‘world’}"。考拉有问题吗?还是我做错了什么?

如果在启动应用程序的终端上看不到"它正常工作",则没有套接字或web套接字连接到服务器应用程序。

在你的应用程序不起作用之前,我不会尝试使用Thor来测试Koa。Koa不稳定。

看看你的代码,我想你想做一些类似的事情:

app.io.route('news', function* (next, data){
  console.log("Server terminal output for client emited event news: ",data);
  this.emit('ok',{news: 'received'});
  this.broadcast.emit('news',data);
});

请注意函数后面的星号。这就是与使用Express不同的主要区别。

连接事件在客户端站点上使用:

socket.on('connect', function () {
  socket.emit('news',{hello: 'world'});
  socket.on('ok',function(data){
    console.log('this message is written on browser console',data);
  });
})

在客户端站点上没有星号。

相关内容

  • 没有找到相关文章

最新更新