【问题标题】:websocket++ using fastcgi++'s session examplewebsocket++ 使用 fastcgi++ 的会话示例
【发布时间】:2013-03-05 23:55:23
【问题描述】:

我是 C++ 新手,对 web 协议或 websockets 几乎一无所知,所以这可能看起来很荒谬。

我制作了 100% ajax 的网站,并希望包含 websockets。 Fastcgi++ 是我对 ajax 需求所希望的一切,但它没有 websockets,我选择 websocket++ 而不是 libwebsockets,因为 websocket++ 或多或少是一个简单的#include,所以我认为我可以将它合并到 fastcgi++ 中。

我想我已经找到了 fastcgi++,看起来大部分操作发生在 Fastcgipp::Request 然后 Fastcgipp::Http::Sessions 用于会话数据 http://www.nongnu.org/fastcgipp/doc/2.1/a00005.html;但是,我认为我必须对 websocket++ 的 server::handler 做同样的事情来处理 websocket https://github.com/zaphoyd/websocketpp/wiki/Creating-Applications-using-WebSocket--,现在我迷路了。

输入我完全没有c++经验:我想我必须使用virtual inheritance,但我不知道。另外,如果我什至可以正确地将两者“子类化”,我如何确保它们不会相互超越?

请给我看一个 websocket++ 如何使用 fastcgi++ 的会话管理的基本示例。

【问题讨论】:

标签: c++ session virtual-inheritance fastcgi++ websocket++


【解决方案1】:

HTTP 请求/响应工作流无法处理 WebSocket 连接。为了将 fastcgi++ 之类的东西用于常规 HTTP 请求和 WebSocket 请求,它需要有某种方法来识别 WebSocket 握手并将其传递给另一个处理程序,而不是将其作为 HTTP 处理。我在其文档中没有看到明显的那种直通模式,但我可能会遗漏一些东西。

如果存在这样的功能,WebSocket++ 可以在流模式下使用,它会禁用所有网络元素,只处理从另一个网络库通过管道传输的字节流。

一些替代方案:

  • WebSocket++ 支持 HTTP 直通。这基本上与上面描述的相反。 WebSocket++ 将用作网络层。它将处理传入的 WebSocket 连接并将 HTTP 请求传递给其他子系统。
  • WebSocket++ 和 fastcgi++ 可以在不同的端口或不同的主机名上运行。这可以在同一个程序或单独的程序中完成。将客户端请求定向到相应的主机/端口。

免责声明:我是WebSocket++的作者

【讨论】:

  • 在我问我应该做 100% websockets 的问题后不久,我就突然想到了。大声笑非常感谢您的回答!!!
猜你喜欢
  • 2017-03-18
  • 1970-01-01
  • 2022-10-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-16
  • 2010-11-11
相关资源
最近更新 更多