2017-02-16 11 views
0

У меня активное соединение, и я отправляю и получаю данные между клиентом и сервером. Сервер является OBD2 Wifi Dongle.Java Socket закрывается через 5 минут, пока активен

Все работает нормально, но розетка закрыта ровно через 5 минут. Бездеятельности нет. Я постоянно общаюсь с сервером.

Есть ли у вас идеи? Или похоже, что OBD Dongle закрывает соединение? Потому что он всегда по истечении 5 минут

+0

В концепции программирования сокетов есть что-то, называемое heartbeat, и тайм-аут, чтобы поддерживать связь для точного упоминания времени, в режиме heartbeat вы можете отправлять данные своему клиенту с сервера, чтобы поддерживать связь в живом режиме ... поэтому, если вам нужна дополнительная информация или я не предоставил вам полезную информацию, дайте мне знать больше информации о вашей проблеме, чтобы помочь вам –

+0

Я знаю, но у меня активное общение, поэтому я думаю, что сердцебиение не нужно. И Timout просто устанавливает правильность соединения? Или есть также Тайм-аут, когда соединение будет закрыто? – mosambers

+0

Сервер подключится к сокету и ждет, чтобы принять клиентское соединение. Я думаю, что вы сможете решить свою проблему просто, если у клиента появится нерешительный поток, который будет спать на время сердечного ритма, а затем просыпается, чтобы отправить пульсовое пинг на сервер. Ничья сердцебиения на клиенте будет жить так долго, как это делает клиент, это будет просто цикл –

ответ

0

Просто отправьте пульс, например. каждые 5 секунд a 3E - это означает «TESTER PRESENT», держит розетку в живых и на самом деле является требованием для некоторых протоколов транспортных средств.