diff options
author | Anton Tananaev <anton.tananaev@gmail.com> | 2016-01-08 21:56:21 +1300 |
---|---|---|
committer | Anton Tananaev <anton.tananaev@gmail.com> | 2016-01-08 21:56:21 +1300 |
commit | 20f275a86f59fe1b43a4bc1a49a86f815d3ca319 (patch) | |
tree | a5fd296d5dfb764b3997be84ecc791c6f066d646 | |
parent | 84f8d7d1e3ad788cd0f3b1d8bccaeaa9dd8b6b47 (diff) | |
download | traccar-server-20f275a86f59fe1b43a4bc1a49a86f815d3ca319.tar.gz traccar-server-20f275a86f59fe1b43a4bc1a49a86f815d3ca319.tar.bz2 traccar-server-20f275a86f59fe1b43a4bc1a49a86f815d3ca319.zip |
Handle websocket connection idle timeout
-rw-r--r-- | src/org/traccar/api/AsyncSocketServlet.java | 4 | ||||
-rw-r--r-- | web/app/controller/Root.js | 6 |
2 files changed, 7 insertions, 3 deletions
diff --git a/src/org/traccar/api/AsyncSocketServlet.java b/src/org/traccar/api/AsyncSocketServlet.java index 59f0b7ee2..fbfe248e5 100644 --- a/src/org/traccar/api/AsyncSocketServlet.java +++ b/src/org/traccar/api/AsyncSocketServlet.java @@ -1,5 +1,5 @@ /* - * Copyright 2015 Anton Tananaev (anton.tananaev@gmail.com) + * Copyright 2015 - 2016 Anton Tananaev (anton.tananaev@gmail.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,7 +24,7 @@ import org.traccar.api.resource.SessionResource; public class AsyncSocketServlet extends WebSocketServlet { - private static final long ASYNC_TIMEOUT = 60000; + private static final long ASYNC_TIMEOUT = 10 * 60 * 1000; @Override public void configure(WebSocketServletFactory factory) { diff --git a/web/app/controller/Root.js b/web/app/controller/Root.js index ff76268b3..23ca94972 100644 --- a/web/app/controller/Root.js +++ b/web/app/controller/Root.js @@ -84,10 +84,14 @@ Ext.define('Traccar.controller.Root', { }, asyncUpdate: function (first) { - var protocol, socket; + var protocol, socket, self = this; protocol = location.protocol === 'https:' ? 'wss:' : 'ws:'; socket = new WebSocket(protocol + window.location.host + '/api/socket'); + socket.onclose = function (event) { + self.asyncUpdate(false); + }; + socket.onmessage = function (event) { var i, store, data, array, entity; |