如何在aws上运行WebSocket服务器

时间:2014-07-12 16:31:16

标签: c++ ios nginx websocket websocket++

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

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

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

2,我现在已经设置了一个nginx服务器,以防它必须有,是否有任何资源我可以参考制作nginx& websocket合作得好吗?

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

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