|
|
|
Связь с базой теряется на внешнем соединении
|
|||
|---|---|---|---|
|
#18+
NickDeeА вы им лапшу про непрерывность соединения для клиент-серверных системА в чём лапша-то ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2013, 16:17:21 |
|
||
|
Связь с базой теряется на внешнем соединении
|
|||
|---|---|---|---|
|
#18+
yushinin, пробуйте раскомментировать DummyPacketInterval = 60 в firebird.conf ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2013, 16:35:52 |
|
||
|
Связь с базой теряется на внешнем соединении
|
|||
|---|---|---|---|
|
#18+
NickDee, Ух не правы, не правы ... Клиент-сервер способен работать 24х7. У нас так и работает. НО! Не все провайдеры способны обеспечить такую связь. Если повезло - будет работать, нет - нужно менять провайдера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2013, 16:36:47 |
|
||
|
Связь с базой теряется на внешнем соединении
|
|||
|---|---|---|---|
|
#18+
hvladNickDeeА вы им лапшу про непрерывность соединения для клиент-серверных системА в чём лапша-то ? Думаю в том, что как только вы в движке реализуете возможность работать на таком канале (например будете закрывать подвисшее и будете открывать новое), то система сразу должна перестать быть клиент-серверной :) Представляю себя на месте начальника. Ко мне приходит подчинённый, и заливает про непрерывность соединения для клиент-серверных систем :) Чувствую у нас с ним получился бы конструктивный разговор на тему чувства здравого смысла :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2013, 16:37:40 |
|
||
|
Связь с базой теряется на внешнем соединении
|
|||
|---|---|---|---|
|
#18+
NickDee, Ты знаешь, чем stateless соединения отличаются от statefull ? Ты знаешь хоть одну клиент-серверную СУБД, которая восстанавливает транспортное соединение после его обрыва прозрачно для клиента ? Ты понимаешь, что в данном случае само приложение должно делать реконнект, со всеми сопутствующими этому приложению телодвижениями ? Так где лапша-то ? А ? PS Если обилие смайликов означает попытку пошутить, то она не удалась... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2013, 16:48:08 |
|
||
|
Связь с базой теряется на внешнем соединении
|
|||
|---|---|---|---|
|
#18+
DnicoНе все провайдеры способны обеспечить такую связь. Если повезло - будет работать, нет - нужно менять провайдера. Или устранить плохой контакт в разъёме телефонной лапши. Или взорвать все трамваи, проезжающие мимо раз в 5-10 минут. Или перебить всех крыс, жующих витую пару в подвале. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2013, 17:20:55 |
|
||
|
Связь с базой теряется на внешнем соединении
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Как вариант ... :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2013, 17:31:21 |
|
||
|
Связь с базой теряется на внешнем соединении
|
|||
|---|---|---|---|
|
#18+
hvladТы знаешь хоть одну клиент-серверную СУБД, которая восстанавливает транспортное соединение после его обрыва прозрачно для клиента ? Если спуститься на самый нижний уровень, и вспомнить чем является транспортное соединение в коде (это переменные (хэндлы сокетов) + send/recv), то это не такая уж сложная задача. Я давно-давно писал сетевой уровень для сервера приложений, на winapi. Сервер держал tcp-соединение минуту с момента последней активности, потом отстреливал его. Клиент при попытке работать по закрытому сервером соединению получал отлуп от ОС, и я создавал новое соединение (прозрачно для клиента, естественно), и все параметры пользовательской сессии на сервере при этом сохранялись, причём не нужно было проходить повторную аутентификацию (пользовательская сессия идентифицировалась гуидом). Это ведь клиент-сервер? :) Правда у меня совсем нет реконнекта когда обрыв связи происходит в процессе передачи пакетов. Но есть алгоритм как такое обработать, т.е. перепослать в другом коннекте то что не дошло. Т.е. мой опыт говорит что проблема не в мифической клиент-серверности, а в конкретных реализациях :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2013, 17:35:52 |
|
||
|
Связь с базой теряется на внешнем соединении
|
|||
|---|---|---|---|
|
#18+
hvladPS Если обилие смайликов означает попытку пошутить, то она не удалась... Это не про пошутить, это про дружелюбное отношение :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2013, 17:38:19 |
|
||
|
Связь с базой теряется на внешнем соединении
|
|||
|---|---|---|---|
|
#18+
NickDeeТ.е. мой опыт говорит что проблема не в мифической клиент-серверности, а в конкретных реализациях :)А твой опыт тебе не говорит, что если это всё элементарно и никто этого не делает, то есть причины ? hint: авторизация и аутентификация ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2013, 17:46:34 |
|
||
|
Связь с базой теряется на внешнем соединении
|
|||
|---|---|---|---|
|
#18+
NickDeeЭто не про пошутить, это про дружелюбное отношение :)Ок :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2013, 18:06:44 |
|
||
|
Связь с базой теряется на внешнем соединении
|
|||
|---|---|---|---|
|
#18+
hvladNickDeeТ.е. мой опыт говорит что проблема не в мифической клиент-серверности, а в конкретных реализациях :)А твой опыт тебе не говорит, что если это всё элементарно и никто этого не делает, то есть причины ? hint: авторизация и аутентификация Авторизация происходит 1 раз. При ней сервером генерируется ключ сессии (не TCP, а вообще). Дальше аутентификация по ключу сессии (хоть в этом tcp-соединении, хоть в следующем). Возможность автоматического восстановления соединения можно сделать опционально :) Вообще о многих вещах (особенно когда это касается самой возможности работы) можно заботиться опционально, а не только by design :) И тыкать пальцем на других, и говорить "смотрите, в нашем обществе так делать не принято, надо вот так" - это вообще про что? :) Имхо было бы очень полезно иметь возможность работать по нестабильному воздушному интернету (например когда едешь в поезде, или летишь в самолёте, или с ноутом/планшетом по городу катаешься). Вот сейчас только проверил как реагирует сбербанк-онлайн на прерывание связи посредством отключения сетевого адаптера (там https-соединение). Адекватно реагирует, логин и пароль не переспрашивает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2013, 18:47:51 |
|
||
|
Связь с базой теряется на внешнем соединении
|
|||
|---|---|---|---|
|
#18+
NickDeeyushininВсе мои объяснения про непрерывность соединения для клиент-серверных систем не достигают сознания. И слава богу, что не достигают. Нужно просто уважать людей, и говорить честно. Нужно говорить, что Firebird не умеет работать в таких условиях, которые возникли у нас. А вы им лапшу про непрерывность соединения для клиент-серверных систем... Зачем? Странный вывод! FB отлично работает на ADSL -скоростях при нормальном устойчивом соединении. И при чем тут лапша? Клиент-сервер держит коннект. Это как бы аксиома. Если коннект пропадает, то клиент отваливается. И где ту лапша? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2013, 19:46:16 |
|
||
|
Связь с базой теряется на внешнем соединении
|
|||
|---|---|---|---|
|
#18+
Вот сейчас только проверил как реагирует сбербанк-онлайн на прерывание связи посредством отключения сетевого адаптера (там https-соединение). Адекватно реагирует, логин и пароль не переспрашивает. Еще одно техническое откровение! http(s) не держит соединения, а соединяется при каждом обращении к ресурсу и отключается по окончании передачи контента. Именно поэтому он, в отличии от клиент-сервера ВЫНУЖДЕН сохранять состояние в данных сессии, печеньках, параметрах запроса и т.д. У него другого способа нет. Это похоже на работу письмами. А клиент-сервер похож на телефонный разговор. Если телефона нет, то можно писать письма, но не всегда это нужно. Вы же не будете утверждать, что телефонное соединение должно прозрачно восстанавливаться после обрыва. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2013, 19:57:44 |
|
||
|
Связь с базой теряется на внешнем соединении
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovDnicoНе все провайдеры способны обеспечить такую связь. Если повезло - будет работать, нет - нужно менять провайдера. Или устранить плохой контакт в разъёме телефонной лапши. Или взорвать все трамваи, проезжающие мимо раз в 5-10 минут. Или перебить всех крыс, жующих витую пару в подвале. Это то да :-) Просто линия от города 40 км, а задержки пингов 200мс! Вот я и сетую на связь. У меня площадка в Германии откликается за 50. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2013, 20:00:35 |
|
||
|
Связь с базой теряется на внешнем соединении
|
|||
|---|---|---|---|
|
#18+
yushininВот сейчас только проверил как реагирует сбербанк-онлайн на прерывание связи посредством отключения сетевого адаптера (там https-соединение). Адекватно реагирует, логин и пароль не переспрашивает. Еще одно техническое откровение! http(s) не держит соединения, а соединяется при каждом обращении к ресурсу и отключается по окончании передачи контента. Именно поэтому он, в отличии от клиент-сервера ВЫНУЖДЕН сохранять состояние в данных сессии, печеньках, параметрах запроса и т.д. У него другого способа нет. Это похоже на работу письмами. А клиент-сервер похож на телефонный разговор. Если телефона нет, то можно писать письма, но не всегда это нужно. Вы же не будете утверждать, что телефонное соединение должно прозрачно восстанавливаться после обрыва. Пример про https я привёл в качестве технологического аргумента. Безопасность там не страдает. И если кто-нибудь реализует транспортный уровень FB через https (или вообще через нецифровой радиоканал (который является лишь колебанием волн)), то это будет уже не клиент-сервер? Вы в своих программах этого даже не заметите. tcp-соединение - это абстракция, которая обёрнута протоколом, кодом и пр. Наличие или отсутствие tcp-соединения по воздуху - это просто договор двух сторон на уровне кода и данных. Можно создать 10 tcp-соединений на одно соединение пользователя и качать данные впараллель, если это выгодно по скорости. Можно по одному tcp-соединению пустить все fb-коннекты к одному серверу с одного компа, если вдруг так нужно. И это всё будет клиент-сервер. Я вот так это понимаю... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2013, 20:43:35 |
|
||
|
Связь с базой теряется на внешнем соединении
|
|||
|---|---|---|---|
|
#18+
NickDeeПример про https я привёл в качестве технологического аргумента. Безопасность там не страдает. И если кто-нибудь реализует транспортный уровень FB через https (или вообще через нецифровой радиоканал (который является лишь колебанием волн)), то это будет уже не клиент-сервер? Вы в своих программах этого даже не заметите. tcp-соединение - это абстракция, которая обёрнута протоколом, кодом и пр. Наличие или отсутствие tcp-соединения по воздуху - это просто договор двух сторон на уровне кода и данных. Можно создать 10 tcp-соединений на одно соединение пользователя и качать данные впараллель, если это выгодно по скорости. Можно по одному tcp-соединению пустить все fb-коннекты к одному серверу с одного компа, если вдруг так нужно. И это всё будет клиент-сервер. Я вот так это понимаю... Как у вас тут все намешано. Как в шейкере :-) https не может быть транспортом, это протокол прикладного уровня (так же как и протокол FB), транспорт это - TCP (UDP) радиоканал - канальный уровень OSI, тоже не транспорт радиоканал не является "колебанием волн", электромагнитное поле и среда распространения образует ЛИНИЮ связи и лишь с каналообразующим оборудованием (приемником и передатчиком) представляет собой канал И это всё будет клиент-сервер. Можно фантазировать сколько угодно насчет кол-ва соединений, но FB реализует общение клиента с сервером через ОДНО соединение, по которому передаются и запрос и ответ. В случае необходимости сервер может соединиться с клиентом для оповещения (как, например это делает FB для работы с событиями (event)). И "классические", "простые", "традиционные" или "общепринятые" (подставьте термин, который вам больше понравится) клиент-серверные системы удерживают соединение с выделением памяти под каждое клиентское соединение, тем самым делая возможным достаточно быструю реакцию на запросы без повторной идентификации и аутентификации (хоть и прозрачной). Конечно, есть масса модификаций этой архитектуры ( http://megabook.ru/article/Клиент-сервер), которые делают ее пригодной для работы на нестабильных каналах и при очень больших количествах клиентов. Поверьте, я о них о всех знаю и умею использовать. Однако мой исходный вопрос касался настройки конкретного сервера в условиях удерживания соединения, поскольку приложение поддерживает события и я не собираюсь от них отказываться из-за низкого качества канала у одного конкретного клиента. То есть образно говоря, я спрашивал что можно сделать с дорогой, а не на чем лучше ехать по плохой дороге. И хотя меня не устраивает ваш ответ, но тем не менее, спасибо за внимание, уделенное моему вопросу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2013, 21:52:47 |
|
||
|
Связь с базой теряется на внешнем соединении
|
|||
|---|---|---|---|
|
#18+
NickDeeПример про https я привёл в качестве технологического аргумента. Безопасность там не страдает. И если кто-нибудь реализует транспортный уровень FB через https (или вообще через нецифровой радиоканал (который является лишь колебанием волн)), то это будет уже не клиент-сервер? Вы в своих программах этого даже не заметите. Распечатать - и на стену. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2013, 22:58:03 |
|
||
|
Связь с базой теряется на внешнем соединении
|
|||
|---|---|---|---|
|
#18+
rstrelbayushinin, пробуйте раскомментировать DummyPacketInterval = 60 в firebird.conf Дык пишут, что отменили его http://www.firebirdsql.org/file/documentation/release_notes/html/ru/rlsnotes25.html и собственно http://tracker.firebirdsql.org/browse/CORE-1357 Да и помочь то он мог для "неподвисания" сервера, но никак не от обрыва коннекта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2013, 23:25:53 |
|
||
|
Связь с базой теряется на внешнем соединении
|
|||
|---|---|---|---|
|
#18+
yushininСейчас вот еще погонял пинги, иногда по таймауту превышаются, но клиент при этом не отваливается в течении уже получаса. Так что, похоже, не таймаут причина... Что является причиной так и не ясно. Так что там насчет Connect on demand в модеме? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2013, 23:59:36 |
|
||
|
Связь с базой теряется на внешнем соединении
|
|||
|---|---|---|---|
|
#18+
NickDeeПример про https я привёл в качестве технологического аргумента.Абсолютно мимо кассы. Я не зря спрашивал, понимаешь ли ты отличие stateless от statefull, и ты не зря не ответил. Вот тебе ещё вопросы - каким образом сервер будет отличать оборванное соединение, которое ты будешь "восстановить", от которого ты не собираешься "восстанавливать" ? Когда сервер должен закрывать свои коннекты, ждущие восстановления ? Или ты на самом деле хочешь на каждый пакет делать на сервере коннект-обработку-дисконнект, как в http ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2013, 00:46:55 |
|
||
|
Связь с базой теряется на внешнем соединении
|
|||
|---|---|---|---|
|
#18+
NickDeeИмхо было бы очень полезно иметь возможность работать по нестабильному воздушному интернету (например когда едешь в поезде, или летишь в самолёте, или с ноутом/планшетом по городу катаешься).Работай. Только привлекай при этом те инструменты, которые на это рассчитаны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2013, 00:48:11 |
|
||
|
Связь с базой теряется на внешнем соединении
|
|||
|---|---|---|---|
|
#18+
hvladNickDeeПример про https я привёл в качестве технологического аргумента.Абсолютно мимо кассы. Я не зря спрашивал, понимаешь ли ты отличие stateless от statefull, и ты не зря не ответил. stateless от statefull я думаю что отличаю :) В данном случае у нас statefull. hvladВот тебе ещё вопросы - каким образом сервер будет отличать оборванное соединение, которое ты будешь "восстановить", от которого ты не собираешься "восстанавливать" ? Если я не собираюсь восстанавливать соединение, то шлю logout :) hvladКогда сервер должен закрывать свои коннекты, ждущие восстановления ? Думаю таймаут должен задаваться в dpb, в конфиге конкретной базы и в глобальном конфиге. Причём если в коннекте есть активная пишущая транзакция с незакоммичеными изменениями, то было бы неплохо переключаться на другой таймаут, отдельный, чтобы не блокировать работу других пользователей (а после коммита возвращаться на оригинальный таймаут). hvladИли ты на самом деле хочешь на каждый пакет делать на сервере коннект-обработку-дисконнект, как в http ? Только если с keep-alive, как в http :) И кстати при работе по открытым каналам связи есть интересное наблюдение - в несколько потоков качает быстрей :) Я такую штуку у себя не реализовывал, хотя мысль такая посещала - забирать большой ответ от сервера в несколько потоков. Больно уж профит велик :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2013, 07:10:05 |
|
||
|
Связь с базой теряется на внешнем соединении
|
|||
|---|---|---|---|
|
#18+
miwaonlineyushininСейчас вот еще погонял пинги, иногда по таймауту превышаются, но клиент при этом не отваливается в течении уже получаса. Так что, похоже, не таймаут причина... Что является причиной так и не ясно. Так что там насчет Connect on demand в модеме? У меня пока нет доступа к модему (я снаружи). Как только выясню, то обязательно напишу в этой ветке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2013, 07:52:37 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=38464012&tid=1564119]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
209ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
83ms |
get tp. blocked users: |
2ms |
| others: | 234ms |
| total: | 576ms |

| 0 / 0 |
