我应该用什么网络插座Uri进行phonegap聊天应用?

时间:2016-08-24 10:43:56

标签: cordova websocket chat messaging

我希望在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>

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

我也在调查kaazing。

kaazing websocket-gateway editions 然而,支持告诉我,对于聊天应用程序,我需要企业版,因为它有JMS。企业版似乎非常昂贵,这只是一个个人项目开始,所以我买不起。

kaazing pricing

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

1 个答案:

答案 0 :(得分:1)

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

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

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

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

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

只要您的项目未在生产中使用,您仍然可以使用企业版的Gateway,作为此类项目足够的100连接限制。