gpt4 book ai didi

node.js - 未收到 Socket.io 事件(nginx 反向代理,服务器到客户端)

转载 作者:太空宇宙 更新时间:2023-11-03 23:27:40 25 4
gpt4 key购买 nike

我有一个在 nginx 反向代理下运行的 nodejs socket.io 应用程序。

我的nginx配置如下:

location ~ ^/(online|socket\.io) {
proxy_pass http://localhost:8888;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}

这似乎有效,并且我的 Nodejs 应用程序可以正常连接。在服务器端 socket.io 我有以下内容:

io.of('/online').on('connection', function(socket){

这似乎工作正常,并且“连接”事件正在触发

当我尝试从服务器向客户端发出事件时出现问题:

socket.join("users");
io.sockets.in("users").emit("got_users",users);

客户端未拾取“got_users”事件。在客户端,我有以下内容:

a4e.socket=io.connect('http://www.example.com/online');

这似乎工作正常,但是:

a4e.socket.on("got_users",function(online_users){

无论我如何尝试,这都不会捕获“got_users”事件。

非常感谢任何帮助。

最佳答案

我终于弄清楚了,以下行:

io.sockets.in("users").emit("got_users",users);

应替换为:

io.of("/online").in("users").emit("got_users",users);

然后就可以了。

关于node.js - 未收到 Socket.io 事件(nginx 反向代理,服务器到客户端),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42026922/

25 4 0
文章推荐: node.js - NodeJS 在函数内部返回 true/false
文章推荐: html - 为什么我的

文章推荐: c - union - 二进制到双
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com