【发布时间】:2017-06-28 02:42:43
【问题描述】:
目前我正在开发一个将在 tizen 设备 (Samsung Gear S3) 上运行的 web 应用程序。该应用程序的目的是在刷卡时向 websocketserver(用 Python 编写并在我的计算机上运行)发送消息。当我向右滑动时,我发送一个 string1,当我向左滑动时,我发送 string2。 问题是消息到达服务器需要一段时间(大约 5 秒)。这种延迟仅在我一段时间后第一次运行发送消息时发生。据我观察,它是 10 秒。这意味着我可以在最后一条消息之后的 10 秒内立即发送任何消息。但是当我暂停超过 10 秒时,会有 5 秒的延迟。
那么问题是延迟的原因是什么?或者我该如何避免这种情况。似乎有超时,但我怎样才能避免这种情况?
客户端(Tizen SmartWatch)的代码是用 Javascript 和 jquery 编写的。
这是我稍微缩短的客户端代码。不包括 HTML 部分。
<script>
var webSocketURL1 = "ws://";
var webSocketURL2 = "Computer10";
var webSocketURL3 = ":9998/echo";
function WS(String){
var webSocketURL=webSocketURL1+webSocketURL2+webSocketURL3;
var webSocket = new WebSocket(webSocketURL);
webSocket.onopen = function (e) {
console.log('connection open, readyState : ' + e.target.readyState);
webSocket.send(String);
};
function closeConnection() {
if (webSocket.readyState === 1) {
webSocket.close();
}
};
}
</script>
<script>
$(document).ready(function(){
$("body").on("swiperight",function(){
WS("string1");
});
});
</script>
<script>
$(document).ready(function(){
$("body").on("swipeleft",function(){
WS("string2");
});
});
</script>
【问题讨论】:
标签: javascript websocket delay tizen