當前我正在開發一個web應用程序,它將在tizen設備(Samsung Gear S3)上運行。該應用程序的目的是在刷卡時向websocketserver發送消息(用Python編寫並運行在我的計算機上)。當我向右滑動時,發送一個字符串1,當我向左滑動時,發送字符串2。 問題在於消息到達服務器需要一段時間(大約5秒)。這種延遲只會在我運行一段時間後第一次運行時發生。據我可以觀察到它的10秒。這意味着我可以在最後10秒內發送任何消息immidiataly。但是當我停頓超過10秒時,會有5秒的延遲。Websocket延遲發送消息
所以問題是什麼原因延遲?或者我該如何避免這種情況。似乎有超時,但我該如何避免這種情況?
客戶端(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>
謝謝你這部分解決了問題。現在我可以在第一時間立即發送我的消息。但是,如果我不發送任何消息約10秒鐘,然後重新開始發送消息,則需要5秒鐘才能發送消息。我只是好奇爲什麼需要這麼長時間。 – Pluxyy
編輯@ Pluxyy –