Два года в /fg/. Войти !bnw Сегодня Клубы

Я не понимаю, зачем нужен tcp/ip.

#RQVCNY / @gds / 3771 день назад

Как минимум, чтобы не держать на каждом устройстве таблицу MAC-адресов всего мира, и не придумывать в каждой программе костыли по разделению потока данных на пакеты и обратной сборке из них.
#RQVCNY/DHA / @ceyt / 3771 день назад
@ceyt > не придумывать в каждой программе костыли по разделению потока данных на пакеты чё ты несёшь-то вообще? Какие потоки данных? Изначально есть потоки пакетов, куда ни посмотри. И их каждая программа пытается высрать в поток байтов, а потом из потока байтов всрать обратно в поток пакетов. И именно разделение и сборка являются самым сложным делом, а ещё гарантии доставки, реконнекты и подобное. Теперь вопрос: что из того, что нужно программам, даёт tcp/ip? Кривую абсракцию "поток байтов", с которым ебли дохуя, и всё?
#RQVCNY/ZLV / @gds --> #RQVCNY/DHA / 3771 день назад
@ceyt пакеты, которые имел в виду -- пакеты с точки зрения программы. Сообщения. Не сетевые пакеты.
#RQVCNY/U3C / @gds --> #RQVCNY/DHA / 3771 день назад
@gds Чтобы у тебя были понятия «дисконнект» и «реконнект», у тебя уже должен быть TCP, лол.
#RQVCNY/QPM / @ceyt --> #RQVCNY/ZLV / 3771 день назад
@ceyt у меня должно быть понятие "соединение". Поверх любого протокола передачи битиков можно ввести это. Конечно, в tcp/ip тоже есть такое понятие, но там соединения кривые, автоматические реконнекты не поддерживаются, например. В том числе потому и удивляюсь в посте.
#RQVCNY/A4M / @gds --> #RQVCNY/QPM / 3771 день назад
@gds Совершенно нормальные там соединения, с очерёдностью пакетов, восстановлением потерянных данных и согласованием скорости передачи. Они работают с каждым посланным пакетом, а разрыв связи на минуту, исчезновение интерфейса и прочие проблемы более высокого уровня происходят на порядки реже и требуют осмысленной реакции, а не тупого бесконечного переподключения, поэтому ты их видишь.
#RQVCNY/APN / @ceyt --> #RQVCNY/A4M / 3771 день назад
@ceyt типично требуется переподключение, а tcp/ip не восстанавливает потерянные данные при этом. Абсракция низкоуровневая: вроде обещают не терять данные, но при использовании в реальных условиях таки теряют. Хуже того, не начнёшь же ты слать байтики с того момента, как send вернул ошибку -- надо вводить в программу понятие "пакет", так как на tcp/ip тут положиться нельзя.
#RQVCNY/CX8 / @gds --> #RQVCNY/APN / 3771 день назад
dae угорает по ipx
#RQVCNY/O33 / @anonymous / 3771 день назад
@polecat слишком мейнстрим
#RQVCNY/Y7H / @anonymous --> #RQVCNY/9QR / 3771 день назад
@polecat ну вообще заебись.
#RQVCNY/ZX0 / @gds --> #RQVCNY/H13 / 3771 день назад
@gds Что значит «типично»? «С этого дня все программы не возвращают ошибок, а пытаются соединиться до бесконечности даже в самых невозможных конфигурациях?» Если ты хочешь стриминг, TCP не нужен. Если ты пользуешься TCP, пользуйся понятием «TCP-соединения» и его состояния, а не «потока».
#RQVCNY/LM4 / @ceyt --> #RQVCNY/CX8 / 3771 день назад
@polecat ты мне вот только расскажи, зачем кому-либо нужен поток именно байтов сам по себе, без надстроек.
#RQVCNY/X4P / @gds --> #RQVCNY/H13 / 3771 день назад
Я тоже, но я решил, что я просто не шарю.
#RQVCNY/ZD0 / @komar / 3771 день назад
@ceyt сама по себе удача или неудача установки/восстановления соединения ничего не означает, по крайней мере в tcp/ip. До бесконечности тоже не надо -- для каждой ситуации нужны свои умолчания. Где-то можно минуту подождать, пока сообщение пройдёт и будет получен ответ, где-то пару секунд уже много. Ведь главное, для чего нужны сетевые соединения -- передача данных между хостами. Если передачи (и подтверждений на переданные данные) нет какое-то время -- ошибка, на неё нужна реакция. А если send() вернул ошибку -- это ещё ничего не означает, и надо пробовать дальше, пока не станет ясно, что передачи данных так и не будет. А это можно определить только по времени. Какое-нибудь connection refused это не показатель тоже.
#RQVCNY/2EU / @gds --> #RQVCNY/LM4 / 3771 день назад
@polecat им-то KISS, малацы, а погромистам, использующим tcp/ip, таки FUCK.
#RQVCNY/VUA / @gds --> #RQVCNY/U67 / 3771 день назад
я придумал, где нужен поток байтов! Берём какую-нибудь телеметрию, датчик выдаёт 256 различных показаний (редкий случай, согласен). И это гоним по tcp/ip. Только обычно данные нужны вовремя, поэтому ставим TCP_NODELAY. И считаем оверхед.
#RQVCNY/PBO / @gds / 3771 день назад
@gds Ну блин, представь применение TCP в те стародавние времена, когда приложениям назначались стандартные порты. Есть клиент, есть сервер, они устанавливают соединение, запрос-ответ, соединение закрывается. Если произошла ошибка — значит, произошла ошибка. Если надо опять связаться — открывается новый сеанс. В рамках такого представления TCP всё правильно делает: обеспечивает целостность, восстанавливается после краковременных разрывов (потерь пакетов), подерживает соединение, пока программа долго думает над ответом, автоматически регулирует скорость передачи (например, если принимающей стороне не хватает производительности обработать целый мегабит в секунду). Это сейчас всюду pipelining, P2P и прочая хрень, и в роутерах не хватает памяти на таблицу соединений, а тогда экстенсивный вариант вполне работал. Если нужны мультиплексирование или сохранение состояния между сеансами, можно либо написать протокол поверх TCP (тысячи их, и всем известны), либо взять простой UDP, и реализовать то, что хочется, так, как хочется.
#RQVCNY/UUH / @ceyt --> #RQVCNY/2EU / 3771 день назад
@gds Всё равно, что удивляться, почему файл нельзя передать просто через пайп netcat'ом, а нужен ещё какой-нибудь zmodem поверх.
#RQVCNY/PJL / @ceyt --> #RQVCNY/2EU / 3771 день назад
man sctp btw
#RQVCNY/I1I / @stiletto / 3771 день назад
Ебать ты лох.
#RQVCNY/BBM / @je / 3771 день назад
@gds tcp/ip это стек во-первых, который в принципе обеспечивает сеть, ты сейчас говоришь об уровне 3. Что даёт tcp/ip - единый интерфейс, спецификации, которых придерживаются все, какой бы ты не купил роутер, он будет работать, например. Юзай raw ip socket, в чём проблема? Вон tox'я юзает сырой udp. Какая вообще задача у тебя или это пердёж в пустоту?
#RQVCNY/TGD / @je --> #RQVCNY/ZLV / 3771 день назад
@ceyt про стародавние времена понятно, им tcp/ip казался просто охуенным, но чисто по контрасту с остальным. Они, видимо, думали, что поток байтов -- это такая охуенная абстракция, и всё есть смысл загонять в неё.
#RQVCNY/IAI / @gds --> #RQVCNY/UUH / 3770 дней назад
@ceyt ну не знаю, я периодически кидал файлы через nc, когда другого не было, а zmodem только с модемом использовал.
#RQVCNY/9LQ / @gds --> #RQVCNY/PJL / 3770 дней назад
@stiletto интересно. До идеального не хватает реконнектов, разве что.
#RQVCNY/4YN / @gds --> #RQVCNY/I1I / 3770 дней назад
@je tcp/ip даёт хуёвый единый интерфейс. Такой интерфейс никому не нужен. Задача у меня -- надёжная передача сообщений поверх tcp/ip. Точнее, поверх вебсокетов, я взял именно их для фрейминга. С технической точки зрения всё просто, мне вот идеологически не нравится ваще: я делаю свои подтверждения доставки поверх фрейминга, внесённого искусственно в поток байтов (изначально не нужен поток байтов), и поверх подтверждений уровня tcp/ip (изначально не нужны подтверждения на потоках байтов, если есть подтверждения на уровне сообщений).
#RQVCNY/O1H / @gds --> #RQVCNY/TGD / 3770 дней назад
jquey
#RQVCNY/C9N / @krkm / 3770 дней назад
@krkm чо
#RQVCNY/QK7 / @gds --> #RQVCNY/C9N / 3770 дней назад
@gds jquery
#RQVCNY/YZ5 / @krkm --> #RQVCNY/QK7 / 3770 дней назад
Пруф или "встроили бы резалку по сообщениям -- было бы заебись".
#RQVCNY/JAL / @kb / 3770 дней назад
@krkm ты очень лапидарно изъясняешься. Не мог бы развернуть мысль?
#RQVCNY/YV3 / @gds --> #RQVCNY/YZ5 / 3770 дней назад
@gds Нахуй использовать tcp/ip, когда можно использовать jquery?
#RQVCNY/7FZ / @anonymous --> #RQVCNY/YV3 / 3770 дней назад
@kb таки пруф: реконнекты, подтверждения доставки.
#RQVCNY/SH5 / @gds --> #RQVCNY/JAL / 3770 дней назад
#RQVCNY/PG5 / @krkm --> #RQVCNY/YV3 / 3770 дней назад
@krkm пасяп)))))))) Причом тут jquery?
#RQVCNY/MN3 / @gds --> #RQVCNY/PG5 / 3770 дней назад
@gds ты на жквери программировать не умеешь? как таких тупых вообще земля носит?
#RQVCNY/PIB / @krkm --> #RQVCNY/MN3 / 3770 дней назад
@krkm умею ёпта, не тупой. Я даже арифметику через jquery-плюгины делаю!
#RQVCNY/V1K / @gds --> #RQVCNY/PIB / 3770 дней назад
@gds ты крутой
#RQVCNY/QS1 / @krkm --> #RQVCNY/V1K / 3770 дней назад
@gds А, ну да, неплохо было бы. Первое, вроде, особо в протокол не обязательно всовывать (какая разница протоколу между коннектом и реконнектом), а вот подтверждение можно запилить сразу.
#RQVCNY/4OX / @kb --> #RQVCNY/SH5 / 3770 дней назад
@kb разница есть. При реконнекте надо дослать сообщения, которые не были подтверждены получателем. Так-то!
#RQVCNY/JBJ / @gds --> #RQVCNY/4OX / 3770 дней назад
@gds Ну оно-то понятно, я имею в виду что сделать это библиотекой, своим кодом или протоколом -- скорее всего один хер будет. По шнурку всё равно одинаковые данные побегут, потому в протокол пихать особого смысла нету, разве что вынести ещё больше логики на сетевую карту (и память).
#RQVCNY/TTS / @kb --> #RQVCNY/JBJ / 3770 дней назад
@kb Ну и реконнекты -- дело часто специфическое, у нас, например -- часто при реконнекте надо выбрать другое место куда писать, а бывает нужно лимит по кол-ву попыток, бывает ещё как-то.
#RQVCNY/14J / @kb --> #RQVCNY/TTS / 3770 дней назад
@kb хер не один. tcp/ip-шное говно добавляет оверхед по трафику (и добавляет лишнюю абстракцию, которую все забарывают своим фреймингом, потому что в реальных делах поток байтов не нужен). По шнурку -- одинаково, но плюс-минус заголовки. Про сетевую карту -- не будет там особой логики, поверх того же ip можно было бы сделать протокол. А память -- хз, вот лично мне надо что-то думать про очень большие сообщения. Мелочь-то можно в тот же tcp-шный 128kb-буфер положить, будет вполне ок.
#RQVCNY/W9E / @gds --> #RQVCNY/TTS / 3770 дней назад
@kb про "другое место" -- логично таки. Но это должен быть как бы хинт, а не то, на что завязана вся логика. Хинт вида "хост скорее всего недоступен, но пока неизвестно точно". Лимит по количеству попыток -- бредота, хотя это реализовать проще всего. Единственный разумный лимит -- по времени, за которое не получилось совершить передачу данных (с подтверждением этой передачи). Но и тут надо подумать -- гигабайтный пакетик будет долго кидаться, а делать таймаут зависимым от объёма данных -- криво. Так как мне всяко надо будет об этом думать и это делать, может подкинешь идей? Как текущий вариант -- получатель в случае больших пакетов будет отправлять сообщения типа "получено 1Мб", "получено 2Мб" .., чтобы было понятно, идут данные или нет.
#RQVCNY/JZ1 / @gds --> #RQVCNY/14J / 3770 дней назад
@gds > Такой интерфейс никому не нужен. обосрался с пердоликоаргументации
#RQVCNY/PPO / @ulidtko --> #RQVCNY/O1H / 3770 дней назад
@ulidtko анус себе поаргументируй, пёс.
#RQVCNY/522 / @gds --> #RQVCNY/PPO / 3770 дней назад
@gds это не поток *байтов*, у тебя здесь единица передачи -- это сериализированная пачка измерений с таймстемпом
#RQVCNY/4LZ / @ulidtko --> #RQVCNY/PBO / 3770 дней назад
@gds кажется мы стали забывать про уровни модели OSI
#RQVCNY/E7L / @krkm --> #RQVCNY/O1H / 3770 дней назад
ОП, ну-ка поясни за ненужность абстракции потока байтиков. Ты говоришь, что приложениям это не нужно, им нужны якобы свои пакетики на своем уровне. ОК, но если я хочу просто передать большой непрозрачный блоб вроде файла? Станешь говорить, что мой фтп-сервер просто шлёт n-гигабайтный пакет? лел
#RQVCNY/61H / @ulidtko / 3770 дней назад
@krkm ет
#RQVCNY/SMG / @ulidtko --> #RQVCNY/E7L / 3770 дней назад
@ulidtko хули ты тут развыебывался, специалист по байтикам штоль? тебе сказали ненужно, так заткни варежку и иди боинхи сбивать, хохол-специалист, хе-хе
#RQVCNY/FER / @krkm --> #RQVCNY/61H / 3770 дней назад
@gds перестань смешивать tcp/ip, это хуйпойми что вообще означает
#RQVCNY/9ZG / @ulidtko --> #RQVCNY/O1H / 3770 дней назад
@krkm бля ловко ты меня :l
#RQVCNY/PEL / @ulidtko --> #RQVCNY/FER / 3770 дней назад
@ulidtko кошка бросила котят tcp/ip виноват
#RQVCNY/616 / @krkm --> #RQVCNY/9ZG / 3770 дней назад
@ulidtko ну вот, даже здесь "поток байтов" оказался ненужным.
#RQVCNY/G0R / @gds --> #RQVCNY/4LZ / 3770 дней назад
@gds > поток байтов > байтов что же с нами стало
#RQVCNY/O5B / @krkm --> #RQVCNY/G0R / 3770 дней назад
@gds **пук** // ниже мне ответь, мудила
#RQVCNY/QK9 / @ulidtko --> #RQVCNY/G0R / 3770 дней назад
@ulidtko вариант 1: в фтп-сервере будет 1. либо явная разбивка файла на сообщения, 2. либо указание "я ещё не дослал своё сообщение, но пока так отправь". Вариант 2: да, гигабайтное сообщение, который отправляется из известного "генератора" (например, из функции, возвращающей последовательные куски файла; суть в том, что не из памяти), и принимается+обрабатывается тоже потоковым образом, например, итератами или чем-то подобным. Но надо определять, где проводить границы надёжности доставки. Я таки хочу на уровне сообщений, поэтому большие пакеты явно не ок, и скорее всего будет вариант 1 для примера с фтп.
#RQVCNY/ELQ / @gds --> #RQVCNY/61H / 3770 дней назад
@ulidtko tcp/ip -- это tcp-протокол, бегающий поверх ip-протокола.
#RQVCNY/SJJ / @gds --> #RQVCNY/9ZG / 3770 дней назад
@ulidtko ниже мне полижи, человек с межушным поролоном, лiл
#RQVCNY/ZGL / @gds --> #RQVCNY/QK9 / 3770 дней назад
@gds иди уже изобретай свой HTTP over WebSocket (я в прошлом месяце еще изобрел)
#RQVCNY/EBH / @krkm --> #RQVCNY/ELQ / 3770 дней назад
@krkm мне не нужен http over websocket, сорь.
#RQVCNY/5UZ / @gds --> #RQVCNY/EBH / 3770 дней назад
@gds ну и как тебе, удобно обсуждать два протокола сразу, подразумевая один?
#RQVCNY/YKN / @ulidtko --> #RQVCNY/SJJ / 3770 дней назад
@gds но в /O1H ты именно об этом
#RQVCNY/YUJ / @krkm --> #RQVCNY/5UZ / 3770 дней назад
@ulidtko мне збс от тебя
#RQVCNY/AA9 / @gds --> #RQVCNY/YKN / 3770 дней назад
@gds давай ты будешь говорить "tcp" когда говоришь о tcp, а не о стеке целиком, потому что претензий к ip я в этом треде не нашел
#RQVCNY/XED / @stiletto --> #RQVCNY/AA9 / 3770 дней назад
@krkm http не является протоколом для обмена сообщениями (а мне именно это нужно).
#RQVCNY/2ZT / @gds --> #RQVCNY/YUJ / 3770 дней назад
@gds зато вебсокеты являются, лол
#RQVCNY/ONI / @stiletto --> #RQVCNY/2ZT / 3770 дней назад
@stiletto я подумаю.
#RQVCNY/KGV / @gds --> #RQVCNY/XED / 3770 дней назад
@gds как это блядь не является, э
#RQVCNY/PLI / @ulidtko --> #RQVCNY/2ZT / 3770 дней назад
@gds давай уже дефайни свои ебаные "сообщения", я охуеваю тебя пытаться понимать
#RQVCNY/73O / @krkm --> #RQVCNY/2ZT / 3770 дней назад
@stiletto они тоже нет, но они уже гораздо ближе.
#RQVCNY/2V4 / @gds --> #RQVCNY/ONI / 3770 дней назад
@ulidtko тебя ебет? не являются и все тут, хоть ты тресни, не являются и все
#RQVCNY/031 / @krkm --> #RQVCNY/PLI / 3770 дней назад
@krkm э бля алё
#RQVCNY/Q8R / @ulidtko --> #RQVCNY/031 / 3770 дней назад
@krkm сообщение -- информация, которой обмениваются программы. Очевидно, сообщение может быть [де]сериализовано. Сообщение можно отправить одной программой и принять другой. Для тупых можно считать сообщение набором битиков.
#RQVCNY/1RT / @gds --> #RQVCNY/73O / 3770 дней назад
@gds Прост скажи, ты дунул или что.
#RQVCNY/97Y / @je --> #RQVCNY/2V4 / 3770 дней назад
@je я
#RQVCNY/GUN / @ulidtko --> #RQVCNY/97Y / 3770 дней назад
@je я дунул на тебя ветром из жопы через xmpp/tcp/ip.
#RQVCNY/ZQL / @gds --> #RQVCNY/97Y / 3770 дней назад
@gds каким хуем тебе тут http не является тогда?
#RQVCNY/9BI / @krkm --> #RQVCNY/1RT / 3770 дней назад
@krkm нет прямого способа отправить сообщение от клиента к клиенту. Или от сервера к клиенту. Поллить сервер иди в другой тред ок777
#RQVCNY/8JN / @gds --> #RQVCNY/9BI / 3770 дней назад
@gds причем тут поллить пизда ты тупая. сука оставайся на месте я тебя найду я тебя выебу блять
#RQVCNY/FPT / @krkm --> #RQVCNY/8JN / 3770 дней назад
отполлил все серверы итт
#RQVCNY/I6S / @anonymous / 3770 дней назад
@krkm я на месте приезжай тебе здесь стрелка набита не приедешь пиздец петушаре ёпта бошку оторву тупую твою в трахею выебу понел777
#RQVCNY/854 / @gds --> #RQVCNY/FPT / 3770 дней назад
@gds сука подъезжай на молодежку я тебя выебу я тебе отвечаю
#RQVCNY/L1P / @krkm --> #RQVCNY/854 / 3770 дней назад
@krkm Улица пушкина дом колотушкина, я жду йоба.
#RQVCNY/CGE / @anonymous --> #RQVCNY/L1P / 3770 дней назад
@anonymous я раздвинул булки. ты скоро?
#RQVCNY/WQZ / @krkm --> #RQVCNY/CGE / 3770 дней назад
@krkm слыш я те чо мальчик кататься сам приезжай и улитку свою забери
#RQVCNY/IQN / @gds --> #RQVCNY/L1P / 3770 дней назад
@gds Почему лимит по кол-ву попыток бред? Ну у меня лично задача такая: есть кластер редисов, при записи "в случайный" выбираю этот самый случайный и пишу в него, пробую 5 раз. Если 5 раз не записалось (таймаут там, или ещё какая ошибка сети) -- значит я его из кластера временно вынимаю. Потом другой воркер занимается попыткой подключить время от времени отключённых. Возможно таймаут имеется в виду таймаут подтверждения, что "сообщение получено". Короче, ничего не подскажу, т.к. не специалист нихуя, и обсуждать тут тяжело т.к. каждый о своём.
#RQVCNY/EBL / @kb --> #RQVCNY/JZ1 / 3770 дней назад
@gds Я говорю о том, что протокол -- это описание того, что идёт по шнурку. А логика "если сообщение не подтверждено -- повторить отправку" к этому иметь отношения не будет. Будет только если будет предусмотрен флаг "попытка №".
#RQVCNY/SRQ / @kb --> #RQVCNY/W9E / 3770 дней назад
@ulidtko Насколько я понял, имеется в виду немного другое. Каждый лепит свой собственный формат "сообщений", или Паскале-подобный или Си-подобные, или ещё какие, но суть одна -- поток байтов (tcp в текущем его виде) использовать для приложений без придумывания велосипедов невозможно, т.к. ты не знаешь, сколько байт ты должен получить и когда остановиться читать.
#RQVCNY/FE6 / @kb --> #RQVCNY/61H / 3770 дней назад
@gds пук
#RQVCNY/7U8 / @ulidtko --> #RQVCNY/IQN / 3770 дней назад
@ulidtko // тфв забрать улитку может реально блядь понадобиться, с закрытым воздушным укропространством-то
#RQVCNY/E7F / @ulidtko --> #RQVCNY/7U8 / 3770 дней назад
@kb это-то понятно. Ясен хуй, что для простой коммуникации на седьмом уровне (типа чатиков, например), строить application protocol проще на датаграммных гарантиях, чем на стримовых. вопрос ведь в другом: все равно остаются приложения, где стримовые гарантии более удобны, чем датаграммные. А гдс задвигает, что якобы нет. ---- алсо спалите годный датаграммный транспортный протокол (вроде udp, только с секвенированием, реордером и ресендами, и с гарантиями на границах юзерских датаграмм (а не где угодно внутри))
#RQVCNY/ZNU / @ulidtko --> #RQVCNY/FE6 / 3770 дней назад
#RQVCNY/CSY / @anonymous --> #RQVCNY/ZNU / 3770 дней назад
@gds лижу только за обоснования в уважаемых научных журналах
#RQVCNY/C89 / @ulidtko --> #RQVCNY/ZGL / 3770 дней назад
@anonymous Спасибо!
#RQVCNY/M0X / @ulidtko --> #RQVCNY/CSY / 3770 дней назад
@kb > Почему лимит по кол-ву попыток бред? В общем случае потому, что попытка, если она без таймаута, может затянуться надолго. Если же есть таймаут, то лимит по попыткам не так уж плох. Но может быть так, что какие-то попытки провалились из-за сети, какие-то из-за редиса, и все их мешать в кучу -- если тебе норм, то ок, конечно.
#RQVCNY/2JJ / @gds --> #RQVCNY/EBL / 3769 дней назад
@kb протокол -- не только "то, что идёт по шнурку", но и реакции сторон на это.
#RQVCNY/G9D / @gds --> #RQVCNY/SRQ / 3769 дней назад
@ulidtko если чо, смогу покатать тебя из кишинёва до кучурган (а то и до одессы), только свистни минимум за сутки, иначе не гарантирую.
#RQVCNY/4H2 / @gds --> #RQVCNY/E7F / 3769 дней назад
@ulidtko > остаются приложения, где стримовые гарантии более удобны, чем датаграммные всё равно там поток не из байтиков, а из каких-то "сообщений". Если ошибаюсь -- интересны примеры.
#RQVCNY/QU3 / @gds --> #RQVCNY/ZNU / 3769 дней назад
@ulidtko да, причём с заездом в Великую Приднестровскую Молдавскую Республику и краткой экскурсией по местам славы лол.
#RQVCNY/OML / @gds --> #RQVCNY/E7F / 3769 дней назад
@gds Да, таймаут должен быть, безусловно. Ну, в случае общения с абстрактным элементом кластера мне, конечно, пофигу кто виноват -- если плохо работает то надо выключать. Но в целом ответ об ошибке редиса от ошибки сети отличается, конечно.
#RQVCNY/PKG / @kb --> #RQVCNY/2JJ / 3769 дней назад
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

Цоперайт © 2010-2016 @stiletto.