gpt4 book ai didi

node.js - Hapi.js 和 Socket.io——socket.io.js 在哪里?

转载 作者:IT老高 更新时间:2023-10-28 23:26:25 25 4
gpt4 key购买 nike

我正在尝试将 socket.io 连接到 Hapi.js 服务器。我已经在 vanilla Node.js 中测试了 socket.io 的实现,一切都很好; Hapi 实现的服务器端似乎工作正常,但“/socket.io/socket.io.js”资源未提供给客户端。

我查看了 Hapi example ,但他们只显示在服务器上做什么,他们关于客户端握手的文档似乎很奇怪:他们在端口 8000 上有一个服务器,但说要发布到 8080 的 socket.io 握手——我什至试过这个(这似乎很不稳定,并且与所有其他 socket.io 实现不一致)没有运气。

谢谢!

最佳答案

Hapi 8 引入了一些新的复杂性,所以如果有人重新审视这个问题......

在客户端,你不必使用/socket.io/socket.io.js,而是使用

  1. 一个 CDN(https://cdnjs.cloudflare.com/ajax/libs/socket.io/0.9.16/socket.io.min.js)
  2. 或更具体地提供文件(http://yoursite.io/js/socket.io/socket.io.js)
  3. 更好的是,使用类似 npm/browserify 和 (https://www.npmjs.com/package/socket.io-client) 的东西:

    var socket = require('socket.io-client')('http://localhost:8080');

您选择哪种方式包含上面的客户端代码

Hapi 8 将允许您通过如下聊天在服务器上做一些很酷的事情:

server.js

server.connection({ port: 8000, labels: 'app' });
server.connection({ port: 8080, labels: 'chat' });
server.register({
register: require('./server/plugins/socketIO')
},
function(err) {
if (err) throw err;
});

/plugins/socketIO/index.js

exports.register = function(server, options, next) {
var io = require('socket.io').listen(server.select('chat').listener,{log:false});
io.sockets.on('connection', function (socket) {
socket.on('someAction', function(name, cb) {
...
});
...
});
}

关于node.js - Hapi.js 和 Socket.io——socket.io.js 在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18343509/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com