0

我正在开发一个需要实时双向服务器/客户端消息传递的 iOS 应用程序。

我正在尝试使用WebSocket++在 AWS EC2 上开发 WebSocket 服务器应用程序。必须使用 C++,因为这是我在服务器端知道的唯一语言。问题是我是服务器端开发的新手。我有两个非常基本的问题:

1,我是否需要设置像 apache/nginx 这样的 HTTP 服务器才能运行 websocket?也就是websocket app可以单独独立存在吗?

2,我现在已经设置了一个nginx服务器,以防万一,有什么资源可以参考让nginx和websocket一起工作吗?

4

2 回答 2

1
  1. 不,您不需要 Web 服务器、(反向)Web 代理或任何东西来让您的 C++ WebSocket 服务器与 WebSocket 客户端通信。

  2. Nginx(作为 HAproxy)支持反向代理 WebSocket。这在某些情况下是有意义的,例如您想在代理上终止 TLS 并将纯 WebSocket 转发到您的后端服务器,或者您希望将传入的 WebSocket 连接负载平衡到多个后端节点。但是,如上所述,这不是必需的。

于 2014-07-12T17:45:34.623 回答
1
  1. 不,你不知道,用于 HTTP 服务器的 websocket 和套接字是两个不同的东西。
    HTTP 服务器用于 HTTP 协议,而没有为 websocket 定义协议,您通常必须通过发送/接收 Json 消息(每一方(服务器和客户端)都知道的字符流)来自己定义它读/写)。
    websocket 的目标是通过 HTML5 为 javascript 提供一种通过 socket 进行通信的简单、轻便和快速的方式,如果没有 websocket,您必须使用 web 服务来做到这一点,在这种情况下,您需要一个 http 服务器。
    使用 websocket,您可以利用 html 标签和 javascript 创建一个 html 文件,javascript 使用 websocket 的客户端与 C++/websocket 服务器程序进行通信,您甚至不需要 web 服务器,在这种情况下,您有一个“桌面 web 应用程序” “!(这里的网络术语只是因为你使用了 html 标签)
  2. 同样的问题,同样的答案,不再;-)

祝你好运,欢迎来到 asio 的精彩世界!

于 2014-07-12T18:07:04.670 回答