我应该为 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。企业版好像很贵,这只是作为个人项目开始,所以我买不起。
对于连接到网络套接字的最佳且最便宜的方式,您有什么建议吗?
为了让用户访问您的服务,您需要一台具有 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 个连接的限制对于此类项目来说已经足够了。
我想在 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。企业版好像很贵,这只是作为个人项目开始,所以我买不起。
对于连接到网络套接字的最佳且最便宜的方式,您有什么建议吗?
为了让用户访问您的服务,您需要一台具有 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 个连接的限制对于此类项目来说已经足够了。