Двунапрвленный сокет

Kostya Alexandrov koticka at mail.ru
Sat Apr 19 21:04:05 MSD 2008


Уважаемые господа, скажите пожалста, можно ли как либо организовать
обмен клиента и сервера в обе стороны по одному и тому же сокету?
Например, что то типа post или put, куда клиент отправляет переодически 
команды и
сообщения о том что он до сих пор жив, а обратно получает данные ДО 
окончания
передачи на сервер.

Суть проблемы. Сервлет, который никогда не закроет соединеие и будет 
выдавать данные
(в данном случае рыночные котировки) вечно. Но есть проблема некоторые 
NAT устройств, когда
внешнее соединение давно разорванно, а внутренее (в локальной сети) 
продолжает оставаться соединенным,
ошибку получаеш только когда пытаешся писать в этот сокет, но в случае 
GET, как сейчас, я в этот сокет после
передачи запроса писать уже ничего не могу. Сейчас решаю как передача 
постоянно с сервера маленьких
"пингов" раз в секунду если небыло ничего другого, т.е. не реже чем раз 
в секунду клиент что то но получает,
если не получил в течении 2 секунд, то переоткрывает соединение, но мне 
такое решение не очень нравится.





More information about the nginx-ru mailing list