我应该为 phonegap 聊天应用程序使用什么网络套接字 Uri?

what web socket Uri should I use for phonegap chat application?

我想在 phonegap 应用程序中提供即时消息服务。我正在考虑为此使用网络套接字。我正在查看 websocket.org 并在我的浏览器中测试了他们的示例代码。

<!DOCTYPE html>
  <meta charset="utf-8" />
  <title>WebSocket Test</title>
  <script language="javascript" type="text/javascript">

  var wsUri = "ws://echo.websocket.org/";
  var output;

  function init()
  {
    output = document.getElementById("output");
    testWebSocket();
  }

  function testWebSocket()
  {
    websocket = new WebSocket(wsUri);
    websocket.onopen = function(evt) { onOpen(evt) };
    websocket.onclose = function(evt) { onClose(evt) };
    websocket.onmessage = function(evt) { onMessage(evt) };
    websocket.onerror = function(evt) { onError(evt) };
  }

  function onOpen(evt)
  {
    writeToScreen("CONNECTED");
    doSend("WebSocket rocks");
  }

  function onClose(evt)
  {
    writeToScreen("DISCONNECTED");
  }

  function onMessage(evt)
  {
    writeToScreen('<span style="color: blue;">RESPONSE: ' + evt.data+'</span>');
    websocket.close();
  }

  function onError(evt)
  {
    writeToScreen('<span style="color: red;">ERROR:</span> ' + evt.data);
  }

  function doSend(message)
  {
    writeToScreen("SENT: " + message);
    websocket.send(message);
  }

  function writeToScreen(message)
  {
    var pre = document.createElement("p");
    pre.style.wordWrap = "break-word";
    pre.innerHTML = message;
    output.appendChild(pre);
  }

  window.addEventListener("load", init, false);

  </script>

  <h2>WebSocket Test</h2>

  <div id="output"></div>

现在我想知道当我自己实现时,我应该使用什么 wsUri?我有自己的域并使用 hostgator 托管,我问过他们我可以在我的域上设置一个 websocket,但他们说这是不可能的,因为它是共享托管。

我也在调查 kaazing。

kaazing websocket-gateway editions 但是支持人员告诉我,对于聊天应用程序,我需要企业版,因为它有 JMS。企业版好像很贵,这只是作为个人项目开始,所以我买不起。

kaazing pricing

对于连接到网络套接字的最佳且最便宜的方式,您有什么建议吗?

为了让用户访问您的服务,您需要一台具有 public IP 地址的机器,您可以在其中安装 KWG。 我所知道的最便宜的是基于云的 Linux 机器,称为虚拟专用服务器。

安装 KWG 后,您的客户端应用程序可以使用如下 URI: ws://your.ip.address:someport/some.service.path 例如 : ws://193.20.23.45:8000/jms

配置的 URI 在网关启动时显示为输出。

对于简单的聊天项目,您可以使用免费的 KWG 社区版在后端创建自己的消息路由逻辑。

但是,您将无法使用企业版中提供的豪华版功能,例如: - 负载均衡和集群以实现高可用性 - 24×7 全球企业支持 - 企业盾 - JMS 支持 - 保证交货 - 自动重新连接 还有更多。

只要您的项目不用于生产,您仍然可以使用企业版网关,因为 100 个连接的限制对于此类项目来说已经足够了。