gpt4 book ai didi

c++ - node.js 网络服务器和 C++ 游戏服务器

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:29:42 25 4
gpt4 key购买 nike

这个问题可能太宽泛了,但我认为这是一个很好的问题,但我不确定如何处理它。

我目前正在 example.com 上托管一个网站。我目前正在使用 100% 的 node.js 来做这件事。我还在托管一个使用 socket.io 的网络 HTML5 游戏(在 game.example.com),这很棒,但我决定我宁愿使用 C++(或,可能是 Java)并计划从 JavaScript 转换服务器逻辑。

我目前最大的问题是我根本不知道如何连接 WebSocket。我仍然计划使用 node.js 为完整的客户端(HTML 和 JavaScript)提供服务,但我希望客户端连接到 C++ 服务器而不是 node.js 服务器。

我目前连接到服务器的方式只是使用从 socket.io 的 io.connect(); 获得的套接字。我认为这可以保留,我只需要将服务器端的套接字从 node.js 传递到我的 C++ 程序,我完全不知道该怎么做。

谁能帮帮我?

最佳答案

假设我理解正确,您希望 Node 处理常规 HTTP 请求,但您希望将 Websocket 请求传递到您的 C++ 服务器?尝试在 Node 中使用代理来处理升级请求:

var http = require('http'),
httpProxy = require('http-proxy');

//have your c++ server for websockets operating on port 1333
var proxy = new httpProxy.HttpProxy({
target: {
host: 'localhost',
port: 1333
}
});

var server = http.createServer(function (req, res) {
//handle normal requests in here
});

server.on('upgrade', function (req, socket, head) {
// Proxy websocket requests...
proxy.proxyWebSocketRequest(req, socket, head);
});

server.listen(80);

关于c++ - node.js 网络服务器和 C++ 游戏服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18305692/

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