<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Программирование сокетов - нужен специалист</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/4954.html</link>
    <description>Всем привет!&lt;br&gt;&lt;br&gt;Есть система Suse Linux, программируем на с++ сокеты.(на подобие вебсервера)&lt;br&gt;Проблема заключается в том что когда у клиента отрубается интернет то соединение сервером продолжает существовать 18 минут.(много раз тестировал) Это что-то вроде какого-то таймаута.&lt;br&gt;Есть ли какие то способы уменьшить это время или вообще убрать? Ведь клиент мёртв, а сервер продолжает выполнять свою работу.&lt;br&gt;&lt;br&gt;Сколько литературы перерыл, не нашёл ответа..&lt;br&gt;</description>

<item>
    <title>Программирование сокетов - нужен специалист (nonstop)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/4954.html#12</link>
    <pubDate>Wed, 18 Jun 2008 12:20:42 GMT</pubDate>
    <description>&amp;gt;Всем привет! &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Есть система Suse Linux, программируем на с++ сокеты.(на подобие вебсервера) &lt;br&gt;&amp;gt;Проблема заключается в том что когда у клиента отрубается интернет то соединение &lt;br&gt;&amp;gt;сервером продолжает существовать 18 минут.(много раз тестировал) Это что-то вроде какого-то &lt;br&gt;&amp;gt;таймаута. &lt;br&gt;&amp;gt;Есть ли какие то способы уменьшить это время или вообще убрать? Ведь &lt;br&gt;&amp;gt;клиент мёртв, а сервер продолжает выполнять свою работу. &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Сколько литературы перерыл, не нашёл ответа.. &lt;br&gt;&lt;br&gt;man tcp&lt;br&gt;/proc/sys/net/ipv4/tcp_keepalive_time&lt;br&gt;</description>
</item>

<item>
    <title>Программирование сокетов - нужен специалист (rWizard)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/4954.html#11</link>
    <pubDate>Wed, 04 Jan 2006 11:39:45 GMT</pubDate>
    <description>&amp;gt;Я думал может кто знает правильное решение этой проблемы, а в доках &lt;br&gt;&amp;gt;я уже везде копался... &lt;br&gt;Не знаю, как правильное - а работоющее решение - это &quot;пинговать&quot; удаленную сторону.&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Программирование сокетов - нужен специалист (Alexx)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/4954.html#10</link>
    <pubDate>Thu, 29 Dec 2005 05:47:20 GMT</pubDate>
    <description>&amp;gt;Try also look at /proc/sys/net/ipv4 - you may find a lot of &lt;br&gt;&amp;gt;interesting things ;) &lt;br&gt;&amp;gt; For example , tcp_keepalive_*  ... &lt;br&gt;&lt;br&gt;and tcp_retries1, tcp_retries2 ;)&lt;br&gt;&lt;br&gt;have you tried to check connection timers with netstat ?&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Программирование сокетов - нужен специалист (Alexx)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/4954.html#9</link>
    <pubDate>Thu, 29 Dec 2005 05:42:27 GMT</pubDate>
    <description>&amp;gt;1. Демон для поддержания работоспособности системы(не понял для чего мне это?) &lt;br&gt;&amp;gt;2. KEEP_ALIVE пробовал конечно, получается теже 18мин плюс ещё проблема.. некоторых клиентов &lt;br&gt;&amp;gt;просто отрубает.. &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Я думал может кто знает правильное решение этой проблемы, а в доках &lt;br&gt;&amp;gt;я уже везде копался... &lt;br&gt;&lt;br&gt;&lt;br&gt;Sorry for english ;)&lt;br&gt;&lt;br&gt;&lt;br&gt;KEEPALIVE - yes , will help .&lt;br&gt;&lt;br&gt;Try also look at /proc/sys/net/ipv4 - you may find a lot of interesting things ;)&lt;br&gt; For example , tcp_keepalive_*  ... &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Программирование сокетов - нужен специалист (Hordi)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/4954.html#8</link>
    <pubDate>Wed, 21 Dec 2005 16:18:00 GMT</pubDate>
    <description>Правильно тебе посоветовали об отправке тестовых сообщений, но чтобы не портить протокол, используй внеполосные данные - все работает просто прекрасно.&lt;br&gt;&lt;br&gt;Трогать SO_KEEPALIVE имхо не поможет...</description>
</item>

<item>
    <title>Программирование сокетов - нужен специалист (Andrey)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/4954.html#7</link>
    <pubDate>Wed, 21 Dec 2005 04:47:41 GMT</pubDate>
    <description>&amp;gt; 1. Демон для поддержания работоспособности системы(не понял для чего мне это?)&lt;br&gt;&lt;br&gt;Какой демон? Тож собака. :) &lt;br&gt;&lt;br&gt;На уровне протокола определяешь сообщение, которое клиент регулярно посылает серверу, сервер ждет это сообщение и, если оно не поступает в течение определенного времени, рвет соединение.&lt;br&gt;&lt;br&gt;&amp;gt; 2. KEEP_ALIVE пробовал конечно, получается теже 18мин плюс ещё проблема.. некоторых клиентов просто отрубает..&lt;br&gt;&lt;br&gt;Так пробовал?&lt;br&gt;&lt;br&gt;setsockopt(sock, SOL_SOCKET, SO_KEEPALIVE, &amp;keep_flag, sizeof(keep_flag));&lt;br&gt;setsockopt(sock, SOL_TCP, TCP_KEEPIDLE, &amp;keep_idle, sizeof(keep_idle));&lt;br&gt;setsockopt(sock, SOL_TCP, TCP_KEEPINTVL, &amp;keep_intvl, sizeof(keep_intvl));&lt;br&gt;setsockopt(sock, SOL_TCP, TCP_KEEPCNT, &amp;keep_cnt, sizeof(keep_cnt));&lt;br&gt;&lt;br&gt;Не забудь проверять возвращаемые значения, потому как решение непереносимое.&lt;br&gt;&lt;br&gt;&amp;gt; Я думал может кто знает правильное решение этой проблемы, а в доках я уже везде копался...&lt;br&gt;&lt;br&gt;Хотелось бы увидеть критерии правильности решения.</description>
</item>

<item>
    <title>Программирование сокетов - нужен специалист (Dimitry)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/4954.html#6</link>
    <pubDate>Tue, 20 Dec 2005 18:16:12 GMT</pubDate>
    <description>1. Демон для поддержания работоспособности системы(не понял для чего мне это?)&lt;br&gt;2. KEEP_ALIVE пробовал конечно, получается теже 18мин плюс ещё проблема.. некоторых клиентов просто отрубает..&lt;br&gt;&lt;br&gt;Я думал может кто знает правильное решение этой проблемы, а в доках я уже везде копался...&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Программирование сокетов - нужен специалист (Andrey)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/4954.html#5</link>
    <pubDate>Tue, 20 Dec 2005 07:52:17 GMT</pubDate>
    <description>1. Добавить в свой протокол watchdog.&lt;br&gt;2. Выставить опции сокета SO_KEEPALIVE, TCP_KEEP* (man 7 socket tcp).&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Программирование сокетов - нужен специалист (chip)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/4954.html#4</link>
    <pubDate>Mon, 19 Dec 2005 15:23:22 GMT</pubDate>
    <description>&amp;gt;Там немного иначе.. до того как апаче приймет от клиента данные он &lt;br&gt;&amp;gt;ждёт (timeout) а после он ухе отправляет клиенту свою инфу и &lt;br&gt;&amp;gt;никакой таймаут там уже не нужен.. послал всю инфу и отрубил! &lt;br&gt;&lt;br&gt;Ваша не правда. Парсим самостоятельно доку относительно ключа KeepAlive и сопуствующих. + можно заглянуть в спеку по HTTP1.1&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

</channel>
</rss>
