Доброго времени суток!
Есть приложение, написанное на C#, СУБД Firebird 2.5.7, SuperServer.
По истечении двухчасового молчания клиента, подключенного к серверу Firebird, происходит разрыв соединения. Под молчанием имею в виду - пользователь ничего не делает в программе в течение двух часов. После при попытке выполнить какое-либо действие (например, записать информацию или сохранить), выходит ошибка о разрыве соединения: Error reading data from the connection.
Из того, что накопала: разобралась в KEEPALIVE, он работает, если смотреть по перехваченным пакетам в Wareshark, KeepAlive происходит каждые две минуты с сервера, параметры меняла, он не влияет на наличие ошибки.
Интересно, что разрыв стабилен ровно через два часа. По перехвату пакетов... Через два часа приходит пакет от сервера о подтверждении соединения, как думаю, тег ACK,на что клиент ему кидает ответный пакет. Затем КЛИЕНТ первый отправляет пакет с тегами ACK и FIN по порту 3050(192.168.132.79-клиент, 192.168.100.97-сервер. ):
192.168.132.79 192.168.100.97 64388 → 3050 [ACK] Seq=405 Ack=469 Win=65024 Len=0
192.168.132.79 192.168.100.97 64388 → 3050 [FIN, ACK] Seq=405 Ack=469 Win=65024 Len=0
И если используется порт 3050 от клиента, как понимаю, это Firebird сам разрывает соединение, не ОС.
ОС сервера: Windows Server 2008 R2 Standart. ОС клиента: любая, на win 7, 8, XP выходит данная ошибка.
Подскажите, что у меня не так, если есть вопросы-охотно отвечу. Тяготит, что после двухчасового простоя клиенту приходится переподключаться. Сервер в сети, каждые 30 сек на сервер отправляются пустые пакеты Ping-ом для проверки доступности сервера, все пакеты успешно доходят и возвращаются.
Может я саму работу системы недопонимаю, помогите, уже неделю убила на решение этого вопроса...
Есть приложение, написанное на C#, СУБД Firebird 2.5.7, SuperServer.
По истечении двухчасового молчания клиента, подключенного к серверу Firebird, происходит разрыв соединения. Под молчанием имею в виду - пользователь ничего не делает в программе в течение двух часов. После при попытке выполнить какое-либо действие (например, записать информацию или сохранить), выходит ошибка о разрыве соединения: Error reading data from the connection.
Из того, что накопала: разобралась в KEEPALIVE, он работает, если смотреть по перехваченным пакетам в Wareshark, KeepAlive происходит каждые две минуты с сервера, параметры меняла, он не влияет на наличие ошибки.
Интересно, что разрыв стабилен ровно через два часа. По перехвату пакетов... Через два часа приходит пакет от сервера о подтверждении соединения, как думаю, тег ACK,на что клиент ему кидает ответный пакет. Затем КЛИЕНТ первый отправляет пакет с тегами ACK и FIN по порту 3050(192.168.132.79-клиент, 192.168.100.97-сервер. ):
192.168.132.79 192.168.100.97 64388 → 3050 [ACK] Seq=405 Ack=469 Win=65024 Len=0
192.168.132.79 192.168.100.97 64388 → 3050 [FIN, ACK] Seq=405 Ack=469 Win=65024 Len=0
И если используется порт 3050 от клиента, как понимаю, это Firebird сам разрывает соединение, не ОС.
ОС сервера: Windows Server 2008 R2 Standart. ОС клиента: любая, на win 7, 8, XP выходит данная ошибка.
Подскажите, что у меня не так, если есть вопросы-охотно отвечу. Тяготит, что после двухчасового простоя клиенту приходится переподключаться. Сервер в сети, каждые 30 сек на сервер отправляются пустые пакеты Ping-ом для проверки доступности сервера, все пакеты успешно доходят и возвращаются.
Может я саму работу системы недопонимаю, помогите, уже неделю убила на решение этого вопроса...