Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / C++ Новый топик    Ответить
Топик располагается на нескольких страницах: 1 2 3 4      [все]
 httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
ъъъъъ
Member

Откуда:
Сообщений: 2114
Пытаюсь сделать простенький HTTP сервер с использованием библиотеки httplib.
Смущает скорость обмена: если "всё по умолчанию", то примерно один запрос GET в одну-две секунды.
Если клиент включает keep-alive, то скорость возрастает до 2 запросов в секунду. Что также удручает.

Опыта написания http клиентов и серверов нет, может, это нормально?
9 апр 21, 19:13    [22306695]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
ъъъъъ
Member

Откуда:
Сообщений: 2114
Клиент посылает GET - запросы вида /id=число, например:
/id=123

Сервер возвращает ответы вида
Echo 123
.

Код сервера:
#include <httplib.h>
namespace htl = httplib;

int main()
{
	htl::Server srv;
	srv.Get("/id=(d+)", [](const htl::Request& req, htl::Response& res) {
		auto param = req.matches[1];
		auto result = "Echo " + param.str();
		res.set_content(result, "text/plain");
	});
	srv.listen("0.0.0.0", 8080);
}
9 апр 21, 19:16    [22306699]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
ъъъъъ
Member

Откуда:
Сообщений: 2114
Извинения, код сервера чуть подправлен:
#include <httplib.h>

namespace htl = httplib;

int main()
{
	htl::Server srv;
	srv.Get(R"(/id=(\d+))", [](const htl::Request& req, htl::Response& res) {
		auto param = req.matches[1];
		auto result = "Echo " + param.str();
		res.set_content(result, "text/plain");
	});
	srv.listen("0.0.0.0", 8080);
}

Код клиента:
#include <httplib.h>
#include <ctime>

namespace htl = httplib;

int main()
{
	htl::Client cli("localhost", 8080);

//	cli.set_keep_alive(true); // Если установить - будет быстрее
	
	time_t my_time = time(NULL);
	printf("%s", ctime(&my_time));

	for (auto i = 0; i < 10; i++) {
		std::string req = "/id=1";// +std::to_string(i);
		auto res = cli.Get(req.c_str());
	}

	my_time = time(NULL);
	printf("%s", ctime(&my_time));

}
9 апр 21, 19:35    [22306718]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
Alex_Ustinov
Member

Откуда: Nickel
Сообщений: 3797
может там еще какие таймауты влияют

c set_keep_alive(true) конечно будет быстрее, сейчас в броузерах это по дефолту имхо

set_keep_alive_max_count выставь (черт знает сколько, 5-10 допустим)

надо все Сеттеры смотреть, что они делают
9 апр 21, 19:52    [22306729]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
ъъъъъ
Member

Откуда:
Сообщений: 2114
Alex_Ustinov,

да. Увеличение set_keep_alive_max_count увеличивает скорость.
Запросто можно и 500 (и выше) сообщений в секунду получить.
Но - вот беда: первое сообщение хоть убей 2 секунды. Т.е., время коннекта.
Т.обр., нужно учесть характер данных и алгоритм обмена.

Огромное спасибо.
9 апр 21, 20:34    [22306753]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
ъъъъъ
Member

Откуда:
Сообщений: 2114
ъъъъъ
Т.е., время коннекта.

Радует, что "тормоза" - на стороне клиента. Т.е., праллельные коннекты сервер почти не замедляют.
Спасибо ещё раз.
9 апр 21, 20:38    [22306755]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53394

ъъъъъ
Смущает скорость обмена: если "всё по умолчанию", то примерно один запрос GET в одну-две
секунды.

Кто клиент и какой протокол? Если браузер без явного указания префикса протокола, то он
пробует щемиться по https сначала и только если не вышло - переключается на http. А если у
тебя https, то там безумный handshake с проверкой сертификатов и обращением к 100500
центрам сертификации перед началом собственно обмена.

Posted via ActualForum NNTP Server 1.5

9 апр 21, 22:06    [22306779]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
ъъъъъ
Member

Откуда:
Сообщений: 2114
Dimitry Sibiryakov,

клиент - тоже я (см. код 22306718). :)

Протокол HTTP 1.1, не использую никаких SSL/TLS.
9 апр 21, 22:21    [22306786]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
ъъъъъ, используй пул из нескольких соединений.
9 апр 21, 22:25    [22306790]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
ъъъъъ
Member

Откуда:
Сообщений: 2114
mayton
ъъъъъ, используй пул из нескольких соединений.


Э... клиент должен быть с сервером постоянно на связи? Если да, то, наверное, никак. Да и не особо нужно.

Задержка при коннекте на стороне клиента не особо важна. Я сперва подумал, что это сервер тормозит, сие было бы грустно: например, с утра десятки тысяч клиентов лезут к серверу, это скорее сдохнешь, чем результат получишь...
А так - нормально, торможение в момент коннекта фактически только на клиенте.
Результаты удовлетворительны, если что - буду копать глубже.
Спасибо.
9 апр 21, 22:34    [22306792]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
А в чем проблема? Пул объектов - нормальный порождающий шаблон проектирования.
Он тут как раз подходит. Можно его наделить логикой idle_timeout когда созданные соединения
после часа простоя - отключаются. Тогда не нужна постоянная связь.
9 апр 21, 23:14    [22306811]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
ъъъъъ
Member

Откуда:
Сообщений: 2114
mayton
А в чем проблема?

Да по логике не нужно. Предполагается, что при старте любого "бизнес-приложения" нашего программного комплекса будет стартовать крошечное приложение - этот самый http-клиент, проверяющий наличие обновлений.
Приложение будет работать параллельно (проверка наличия обновлений и, если нужно, загрузка), даже когда "бизнес-приложение" завершит работу. То есть, если потратится лишние 2 сек на первоначальный коннект - это вовсе не беда. И даже если связи не будет совсем - тоже не беда, потом скачают, или курьера (как сейчас) пошлют. Я боялся, что затык сервера будет, так как таких клиентов довольно много.
9 апр 21, 23:24    [22306819]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53394

ъъъъъ
клиент - тоже я (см. код 22306718
Протокол HTTP 1.1, не использую никаких SSL/TLS.

Тогда хрень какая-то. Ответ должен приходить со скоростью пинга.

Posted via ActualForum NNTP Server 1.5

10 апр 21, 00:20    [22306842]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
ъъъъъ
Member

Откуда:
Сообщений: 2114
Dimitry Sibiryakov
ъъъъъ
клиент - тоже я (см. код 22306718
Протокол HTTP 1.1, не использую никаких SSL/TLS.

Тогда хрень какая-то. Ответ должен приходить со скоростью пинга.

Да. Если на сервере вместо
	srv.listen("0.0.0.0", 8080);

задать
	srv.listen("localhost", 8080);

или сетевое имя компьютера - то всё очень-очень быстро.
10 апр 21, 02:39    [22306870]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
ъъъъъ
Member

Откуда:
Сообщений: 2114
В общем, это я тормоз. Клиент должен коннектиться не localhost, а к 127.0.0.1, тогда не будет задержки при коннекте.
Или серверу следует указывать привязку не к "0.0.0.0", а к "::". Тогда пофиг, что клиент будет указывать при коннекте - localhost, 127.0.0.1 или сетевое имя компьютера.
Что-то связано с ipv4/ipv6, завтра разберусь. Спать пошел.
10 апр 21, 04:06    [22306874]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
Alex_Ustinov
Member

Откуда: Nickel
Сообщений: 3797
это виноват "местный" dns, разрешение имен, частая сетевая проблема
10 апр 21, 09:10    [22306891]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53394
Не DNS, а hosts в данном случае. Он ресольвит localhost в два адреса - IPv6 и IРv4. По умолчанию IPv6 имеет приоритет и клиент пытается использовать его. Кривая библиотека: достаточно умная чтобы использовать IPv6, но недостаточно умная для коннекта сразу на все полученные адреса.

Сообщение было отредактировано: 10 апр 21, 12:29
10 апр 21, 12:32    [22306935]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
Alex_Ustinov
Member

Откуда: Nickel
Сообщений: 3797
hosts и есть "местный" локальный ДНС
10 апр 21, 13:07    [22306941]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
ъъъъъ
Member

Откуда:
Сообщений: 2114
Сокет (клиентский и серверный) создается в https://github.com/yhirose/cpp-httplib/blob/master/httplib.h#L2061
В клиенте функция getaddrinfo() (коннект к "localhost") возвращает список addrinfo структур, в которых addrinfo с протоколом ipv6 идут первыми, а затем иду ipv4. А в сервере (бинд к "0.0.0.0") формируется список только из addrinfo с ipv4.
Таким образом, клиент создает сокет ipv6, который лезет к серверу ipv4, обламывается через 2 секунды, берет следующий addrinfo с ipv4, получает правильный коннект. Если сервер биндится в "::", то в итоге он будет "висеть" на сокете ipv6 (все та же getaddrinfo()).
...
Если в https://github.com/yhirose/cpp-httplib/blob/master/httplib.h#L2069 задать хинт, вместо
  hints.ai_family = AF_UNSPEC;

задать, например,
  hints.ai_family = AF_INET;

то и клиент и сервер будет работать по ipv4.

Или в настройках ОС клиента изменить порядок приоритета, задав ipv4 более приоритетным:
В HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters создать/задать переменную DisabledComponents со значением 20 (hex).
Подробности: https://docs.microsoft.com/en-US/troubleshoot/windows-server/networking/configure-ipv6-in-windows.
13 апр 21, 14:59    [22308270]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
ъъъъъ,
Угу.
Большинство ПО прописывают что вырубать ipv6 и не парятся по этому поводу.
13 апр 21, 15:13    [22308283]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
ъъъъъ
Member

Откуда:
Сообщений: 2114
PetroNotC Sharp,

MSDN
Internet Protocol version 6 (IPv6) is a mandatory part of Windows Vista and Windows Server 2008 and newer versions. We do not recommend that you disable IPv6 or its components. If you do, some Windows components may not function.

We recommend using Prefer IPv4 over IPv6 in prefix policies instead of disabling IPV6.

Кто я такой, чтобы идти против MS-Soft.
13 апр 21, 15:17    [22308290]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53394

ъъъъъ
клиент создает сокет ipv6, который лезет к серверу ipv4, обламывается через 2 секунды,
берет следующий addrinfo с ipv4, получает правильный коннект.

Вот именно поэтому правильные клиенты создают сокеты сразу для всех полученных addrinfo,
коннектятся в неблокирующем режиме и используют тот сокет, который сумел успешно
подключиться раньше остальных. Остальные можно либо пристрелить, либо отправить в пул для
последующего повторного использования.

Posted via ActualForum NNTP Server 1.5

13 апр 21, 15:21    [22308295]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
ъъъъъ
Member

Откуда:
Сообщений: 2114
Dimitry Sibiryakov
ъъъъъ
клиент создает сокет ipv6, который лезет к серверу ipv4, обламывается через 2 секунды,
берет следующий addrinfo с ipv4, получает правильный коннект.

Вот именно поэтому правильные клиенты создают сокеты сразу для всех полученных addrinfo,
коннектятся в неблокирующем режиме и используют тот сокет, который сумел успешно
подключиться раньше остальных. Остальные можно либо пристрелить, либо отправить в пул для
последующего повторного использования.

Да, библиотека https://github.com/yhirose/cpp-httplib - "блокирующая".

Ну, в плане создания клиентского сокета, думаю, можно чуток и подшаманить.
Спасибо.
13 апр 21, 15:28    [22308302]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53394

ъъъъъ
Да, библиотека https://github.com/yhirose/cpp-httplib - "блокирующая".

Это сугубо всё равно. Блокирующей библиотеке никто не запрещает использовать неблокирующие
сокеты с select/poll/и т.п.

Posted via ActualForum NNTP Server 1.5

13 апр 21, 15:33    [22308304]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
ъъъъъ
Member

Откуда:
Сообщений: 2114
Dimitry Sibiryakov,

да.
13 апр 21, 15:49    [22308320]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
ъъъъъ
PetroNotC Sharp,

MSDN
Internet Protocol version 6 (IPv6) is a mandatory part of Windows Vista and Windows Server 2008 and newer versions. We do not recommend that you disable IPv6 or its components. If you do, some Windows components may not function.

We recommend using Prefer IPv4 over IPv6 in prefix policies instead of disabling IPV6.

Кто я такой, чтобы идти против MS-Soft.
ты счас на работе?
Зайди в свойства сети и проверь галку на ver 6
Стоит?
У меня нет в достаточо крупной конторе)))
13 апр 21, 15:49    [22308322]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
ъъъъъ
Member

Откуда:
Сообщений: 2114
PetroNotC Sharp
ты счас на работе?
Зайди в свойства сети и проверь галку на ver 6
Стоит?
У меня нет в достаточо крупной конторе)))

У нас десятки тысяч клиентов. Если у 1% клиентов возникнут вопросы - мы потонем.
13 апр 21, 16:46    [22308362]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
ъъъъъ,
Не знаю что вы готовый апач не возьмете на стока народу.
13 апр 21, 18:26    [22308414]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
ъъъъъ
Member

Откуда:
Сообщений: 2114
PetroNotC Sharp
ъъъъъ,
Не знаю что вы готовый апач не возьмете на стока народу.

Расскажи, чем апач лучше этого кода:
#include <httplib.h>

namespace htl = httplib;

int main()
{
	htl::Server srv;
	srv.Get(R"(/id=(\d+))", [](const htl::Request& req, htl::Response& res) {
		auto param = req.matches[1];
		auto result = "Echo " + param.str();
		res.set_content(result, "text/plain");
	});
	srv.listen("0.0.0.0", 8080);
}


Сообщение было отредактировано: 13 апр 21, 18:30
13 апр 21, 18:37    [22308417]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
Если речь о скорости пошла - то зачем вы с Апачем сравниваете?

Берите NGinx.
13 апр 21, 18:48    [22308419]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
ъъъъъ
Member

Откуда:
Сообщений: 2114
mayton
Если речь о скорости пошла - то зачем вы с Апачем сравниваете?

Берите NGinx.

Я вообще не понимаю, откуда вопросы о скорости.
Тормоза - только при коннекте, только на клиенте, и то лишь при определенных условиях, которые уже понятно как обойти.
13 апр 21, 19:05    [22308421]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
ъъъъъ,
"Расскажи, чем кресло лучше табуретки?))))

К сообщению приложен файл. Размер - 138Kb
13 апр 21, 20:06    [22308442]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
Тема топика - встраиваемый http-сервер. Верно?
13 апр 21, 20:28    [22308450]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
ъъъъъ
Member

Откуда:
Сообщений: 2114
mayton
Тема топика - встраиваемый http-сервер. Верно?

Э... по итогам: "Пауза при коннекте клиента к кастомному http-серверу на базе библиотеки httplib".
Наверное.
13 апр 21, 20:48    [22308454]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
Запускай клиент + сервер + tcpdump и по паузе между пакетами разберемся что чего ждет.
13 апр 21, 21:10    [22308459]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
ъъъъъ
Member

Откуда:
Сообщений: 2114
mayton,

прикалываешься.
Я в отладчике посмотрел, "чего ждёт". И рассказал: 22308270.
Ещё раз. Вот код: https://github.com/yhirose/cpp-httplib/blob/master/httplib.h#L2063
Клиент, вызывая функция getaddrinfo(), по символическому имени хост-сервера получает одну или несколько структур addrinfo; каждая из структур содержит физический адрес, который можно указать в вызове bind () или connect (2). Особенность Windows такова, что если в системе разрешены ipv4 и ipv6, и символическое имя хост-сервера может быть разрешено в обоих протоколах, то список структур addinfo возвращается отсортированным с приоритетом "ipv6 раньше". Библиотека реализована так, что клиент по очереди "щупает" интерфейсы, создавая сокет и пытаясь связаться с указанным физическим адресом по конкретному протоколу. Первым "щупается" ipv6. Если сервер "сидит" на ipv4, то попытка коннект обламывается через таймаут ~2 сек. Вторая попытка выполняется уже по другому addrinfo, где протокол - ipv4, коннект выполняется успешно.
Вот и всё.
И про способы решения я тоже расписал, по той же ссылке. Плюс Д.Сибиряков предложил выполнять коннект сразу по всем протоколам, в неблокирующем режиме.
13 апр 21, 21:53    [22308475]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
А ну сорян. Тогда дерзай. Кодь дальше.
13 апр 21, 21:57    [22308477]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
petrav
Member

Откуда:
Сообщений: 2944
ъъъъъ,

А зачем в приложение на С++ встраивать вебсервер?
14 апр 21, 07:48    [22308571]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
petrav,
Он внешним консольным сделает
14 апр 21, 07:53    [22308572]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
ъъъъъ
Member

Откуда:
Сообщений: 2114
petrav
ъъъъъ,

А зачем в приложение на С++ встраивать вебсервер?

IPC.
14 апр 21, 09:07    [22308599]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
petrav
Member

Откуда:
Сообщений: 2944
ъъъъъ
petrav
ъъъъъ,

А зачем в приложение на С++ встраивать вебсервер?

IPC.

Inter-process communication? Неужели для этого нужен веб-сервер? Ох ёп. :)
14 апр 21, 09:13    [22308602]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
ъъъъъ
Member

Откуда:
Сообщений: 2114
petrav
ъъъъъ
пропущено...

IPC.

Inter-process communication? Неужели для этого нужен веб-сервер? Ох ёп. :)

Расскажи, что лучше.
14 апр 21, 09:23    [22308606]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
Dima T
Member

Откуда:
Сообщений: 15795
ъъъъъ
petrav
пропущено...

Inter-process communication? Неужели для этого нужен веб-сервер? Ох ёп. :)

Расскажи, что лучше.

ZeroMQ посмотри
14 апр 21, 09:28    [22308608]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
ъъъъъ
petrav
пропущено...

Inter-process communication? Неужели для этого нужен веб-сервер? Ох ёп. :)

Расскажи, что лучше.
Что выбрать для межпроцессного взаимодействия модулей приложений?
14 апр 21, 09:38    [22308611]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
ъъъъъ
Member

Откуда:
Сообщений: 2114
Dima T
ъъъъъ
пропущено...

Расскажи, что лучше.

ZeroMQ посмотри

А что даст использование ZMQ?
HTTP протокол в данной задаче тем и хорош, что не требует постоянного соединения. Послал запрос, получил ответ или отлуп. А в ZMQ даже нет возможности со стороны сервера отказать в коннекте. И инициировать дисконнект с конкретным корреспондентом нельзя, только полное уничтожение сокета, с полным отваливанием всех. Да и вообще, не рекомендуется через ZMQ в Интернет выходить, хотя, да, появились поточные сокеты, и средства аутентификации, но с ними всеми пока больше хлопот, чем пользы. ZMQ - шикарен для локальных сетей и inproc коммуникации.
14 апр 21, 09:44    [22308613]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
ъъъъъ,

У вас межпроцессное или сетевое?
14 апр 21, 09:53    [22308616]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
Это только у сишников наверно что межпроцессное, что сетевое что веб все одно и тоже.
14 апр 21, 09:56    [22308620]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
Тема "разгона веба" обсуждалась давно. И следствием ее возник протокол http/2.
14 апр 21, 11:48    [22308693]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
mayton
Тема "разгона веба" обсуждалась давно. И следствием ее возник протокол http/2.
ну, если у него веб сервер а не AppServer как в java и шарпе то где же у него бизнес логика в коде?
В java она в сервлетах. В шарпе модули на IIS.
А тут вероятно в виде синшных функций рядом с main() {сервер.старт}
14 апр 21, 11:53    [22308699]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
Я думаю что с точки зрения сервлетов - ничего не поменяется.

Давай пятничным топиком обсудим. Трассировка сети в браузерах Chrome показывает
что по факту http2 уже используется во многих медийных порталах.
14 апр 21, 11:58    [22308701]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
mayton,
Упс. Фигню написал. У него простой апдейт приложения.
22306819
Обычно просто на фтп сервере проверяют. Есть ли обновления. Ну или в бд.
Тут целый веб сервер.
Оверхед.
14 апр 21, 12:02    [22308705]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
mayton,
>http2
У нет проблем со скоростью.
14 апр 21, 12:03    [22308708]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
Я помню лет сто назад. Были такие жлобские протоколы типа TFPT (Trivial FTP). Без автентификации.
Использовался для обновления прошивок железа.
14 апр 21, 12:05    [22308709]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
mayton,
Занафига текстовый веб протокол чтобы обновить программа.exe при запуске?
14 апр 21, 12:05    [22308711]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
mayton,
Счас на марсе вертолет обновляют BIOS.
Наверняка по текстовому)))
14 апр 21, 12:06    [22308712]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
PetroNotC Sharp
mayton,
Занафига текстовый веб протокол чтобы обновить программа.exe при запуске?

Технически, классический ftp создает несколько сокетов. А http - это просто сокет-сервер. Как telnet.
Поэтому для качания 1-го файла http проще IMHO.

Для листинга файлов - ну да. Можно что-то прикрутить сбоку типа IndexMod (Apache). Но я думаю
что автор обойдется просто публикацией текстового файлика с листингом и с MD5 суммами.

Я так делал.
14 апр 21, 12:07    [22308715]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
mayton,

То есть у тебя критерий только число сокетов? Нельзя по одному критерию решать ФТП или HTTP
14 апр 21, 12:11    [22308718]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
PetroNotC Sharp
mayton,
Занафига текстовый веб протокол чтобы обновить программа.exe при запуске?

Я не очень понимаю зачем акцентировать внимание на текстовом и не-текстовом.

Туловище response (если оно бинарное) - так и есть - бинарное. Просто в заголовке ответа мы пишем
что декскыть app/octet-stream и лупим сырой поток.
14 апр 21, 12:14    [22308721]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
PetroNotC Sharp
mayton,

То есть у тебя критерий только число сокетов? Нельзя по одному критерию решать ФТП или HTTP

Ну ты подумай сам. Если-б ты кодил свой FTP-сервер - то тебе сессию контролировать всяко проще по 1 сокету.
А по 2-м надо 2 потока и координацию между ними.
14 апр 21, 12:15    [22308725]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
mayton,
Я предлагаю судить не по текст или нет, и не по сокетам а по КОМПЛЕКСНЫМ критериям.
Что лучше для обновления экзешника.
Я не говорю только про текст.
14 апр 21, 12:31    [22308738]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
mayton
PetroNotC Sharp
mayton,

То есть у тебя критерий только число сокетов? Нельзя по одному критерию решать ФТП или HTTP

Ну ты подумай сам. Если-б ты кодил свой FTP-сервер - то тебе сессию контролировать всяко проще по 1 сокету.
А по 2-м надо 2 потока и координацию между ними.
apt-get install ftpd у меня на сервере
14 апр 21, 12:33    [22308740]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53394

mayton
Тема "разгона веба" обсуждалась давно. И следствием ее возник протокол http/2.

Не так уж и давно. Она начала обсуждаться только после того как гугль эту самую "скорость
веба" загнал под плинтус принудительным внедрением HTTPS. Скорость HTTP/1.1 всех устраивала.

Posted via ActualForum NNTP Server 1.5

14 апр 21, 12:34    [22308742]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
Dimitry Sibiryakov,

По принудиловке они сволочи конечно.
14 апр 21, 12:35    [22308743]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
PetroNotC Sharp
mayton,
Я предлагаю судить не по текст или нет, и не по сокетам а по КОМПЛЕКСНЫМ критериям.
Что лучше для обновления экзешника.
Я не говорю только про текст.

А какая проблема обновлений экзешника? Поднимай самый древний Апач. И все будет чики-пики.
Подкладывай новые -xx.yy.zip и контрольные суммы.
14 апр 21, 14:27    [22308823]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
mayton,
В архитектуре есть слово оверхед..
Для обновления экзешника веб сервер это именно это слово.
А работать будет и Ока и мерс и жигули.
Перевозить бинарник из точки А в точку Б.
14 апр 21, 14:33    [22308834]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53394

mayton
Подкладывай новые -xx.yy.zip и контрольные суммы.

Зачем? В зипе уже есть контрольные суммы, а апач нормально отдаёт LastModified.

Posted via ActualForum NNTP Server 1.5

14 апр 21, 14:34    [22308838]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53394

PetroNotC Sharp
В архитектуре есть слово оверхед..
Для обновления экзешника веб сервер это именно это слово.

Оверхэдом уже является само автоматическое обновление экзешника, на его фоне всё остальное
- мелочи.

Posted via ActualForum NNTP Server 1.5

14 апр 21, 14:38    [22308842]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
Dimitry Sibiryakov,
А какие есть методы обновления без переделки оного в веб приложение?
14 апр 21, 14:44    [22308846]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
PetroNotC Sharp
mayton,
В архитектуре есть слово оверхед..
Для обновления экзешника веб сервер это именно это слово.
А работать будет и Ока и мерс и жигули.
Перевозить бинарник из точки А в точку Б.

Есть много схем обновления. Если софт пишется под Linux (Debian) - там есть своё коробочное
решение. Надо зарегать свой репо. Ключи. Подписи и т.п.

И дальше клиент обновляется автоматом по apt-get update/upgrade.

Под Windows - наверняка тоже есть что-то. MSI собрал. Обновился.

Мы когда - то использовали svn. Клиент у себя запускал svn update и все обновлялось.

Оверхед - здесь не самое главное. Встраиваемых http-серверов - миллионы + тележка.

Гораздо важнее ИМХО не соблюсти оверхед а найти "инженерное" решение. Инженер - приспосабливает
то что есть. А в перфекционизме - можно потерять и другое более ценное. Время на разработку например.
Зачем в миллионный раз разрабатывать http-сервер на С++ ? Ради амбиций? Ну да. Одобряю.
Ради бизнеса? Нет. Лучше приспособить то что уже проверено.
14 апр 21, 14:48    [22308851]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
mayton,
Ты про винду ничего не сказал. Как обновить программа.exe?
14 апр 21, 14:51    [22308853]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
mayton,
>Зачем в миллионный раз разрабатывать http-сервер на С++ ?
= это согласен.
Каждый прогер должен построить дом, написать логгер и свой сервер)
14 апр 21, 14:53    [22308857]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
PetroNotC Sharp
mayton,
Ты про винду ничего не сказал. Как обновить программа.exe?

Мои знания про Windows устарели. Я работал в доменах Windows 2003 последний раз до 2010 года.
Что толку если я щас буду гуглить? Давай зададим этот вопрос в форуме Windows.
14 апр 21, 15:05    [22308869]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
mayton,
Да нету ничего. Ничего не изменилось с прошлого тысячилетия.
14 апр 21, 15:19    [22308880]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
Ну там же есть этот. Windows-Market. Значит есть единая точка откуда можно взять сведенья по софту.

Может и обновления оттуда тоже потянуть.
14 апр 21, 15:22    [22308882]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
mayton,
Первый раз слышу чтобы его заюзал бизнес.
14 апр 21, 15:31    [22308889]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53394

PetroNotC Sharp
Как обновить программа.exe?

Если софт корпоративный - MSI+доменная политика обновления. Если для личного использования
- вообще обновлять не надо.

Posted via ActualForum NNTP Server 1.5

14 апр 21, 15:33    [22308890]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
Может это? https://www.advancedinstaller.com/msix-publish-microsoft-store.html
14 апр 21, 15:35    [22308891]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
Dimitry Sibiryakov,
Комп в домене думаю оффтоп.
Это в корне меняет тему.
Зачем вообще тогда веб сервер)))
14 апр 21, 15:39    [22308892]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
mayton
Может это? https://www.advancedinstaller.com/msix-publish-microsoft-store.html
ехе-msi->AppX->msix->?
Все хрень кроме первых двух
14 апр 21, 15:50    [22308898]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
Почему?
14 апр 21, 15:56    [22308902]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
mayton
Почему?
все ушли в веб. Там оказалось все проще.
14 апр 21, 16:14    [22308915]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
Мне - не проще. Я Excel запускаю десктопный. Мне он - приятнее.

Вот как-то так...
14 апр 21, 16:18    [22308919]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
mayton,
Я проще сказал не по отношеню эксель веб или десктоп.
А проще в веб уйти чем с msix разбираться.
Ну или по ФТП скачать.
14 апр 21, 16:25    [22308931]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
mayton,

Сильверлайт, корба, com - все сложное и умерло нафиг.
14 апр 21, 16:26    [22308934]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
Нормальное развитие по спирали. Все последние 25 лет развития интернета - это попытки
прощупаь что из контента можно исполнять на сервере а что можно переложить на клиента.
И где найти ту грань сложности веб-кодинга чтобы послендний верстальщик-рукожоп смог
сверстать формочку.
14 апр 21, 17:07    [22308956]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
ъъъъъ
PetroNotC Sharp
ъъъъъ,
Не знаю что вы готовый апач не возьмете на стока народу.

Расскажи, чем апач лучше этого кода:
#include <httplib.h>

namespace htl = httplib;

int main()
{
	htl::Server srv;
	srv.Get(R"(/id=(\d+))", [](const htl::Request& req, htl::Response& res) {
		auto param = req.matches[1];
		auto result = "Echo " + param.str();
		res.set_content(result, "text/plain");
	});
	srv.listen("0.0.0.0", 8080);
}


Еще вариант на Node.JS написать. Если не просто хостинг а какие-то простые действия сделать надо.
14 апр 21, 19:01    [22309004]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8256
mayton,
А меня мутит с Node). Как с 1С.
14 апр 21, 19:37    [22309022]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
petrav
Member

Откуда:
Сообщений: 2944
Google Chrome как-то же обновляется... Интересно как?

А у World Of Warcraft вообще потрясающая система обновления. Какой-то супер протокол, который определяет какие файлы нужно обновить и даже какие части этих файлов нужно обновить. Плюс сама система обновления построена на технологии торрентов. Когда миллионы геймеров примерно в одно и тоже время садятся поиграть, они достаточно быстро обновляют свою инсталляцию игры в десятки гигабайт. Это не обновление столько весит, а вся инсталляция.

Плюс возможность начать играть когда ещё не всё обновление скачано. Плюс обновление самого "обновлятора". Шедевр.
14 апр 21, 19:52    [22309030]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
petrav

А у World Of Warcraft вообще потрясающая система обновления. Какой-то супер протокол, который определяет какие файлы нужно обновить и даже какие части этих файлов нужно обновить. Плюс сама система обновления построена на технологии торрентов. Когда миллионы геймеров примерно в одно и тоже время садятся поиграть, они достаточно быстро обновляют свою инсталляцию игры в десятки гигабайт. Это не обновление столько весит, а вся инсталляция.

Плюс возможность начать играть когда ещё не всё обновление скачано. Плюс обновление самого "обновлятора". Шедевр.

Дерево Меркла. Позволяет очень быстро определить какие части файла рассинхронизованы с эталоном.

У меня есть предположение что утилита rsync так и работает.

И я когда-то предлагал такой обновлятор только не для файлов а для холодных бекапов баз данных сделать.

https://www.sql.ru/forum/1331028/sredovyy-rsync-cherez-http

Сообщение было отредактировано: 14 апр 21, 20:29
14 апр 21, 20:23    [22309040]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
Как можно играть когда обновление еще не скачано? ХЗ. Это наверное просто особенность игрового
софта. Он - толерантный например в части качества визуального материала. Еще Джон Кармак предлагал
различную поэтапную загрузку деталей текстур. MipMap.
14 апр 21, 20:40    [22309051]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
petrav
Member

Откуда:
Сообщений: 2944
mayton
Как можно играть когда обновление еще не скачано? ХЗ. Это наверное просто особенность игрового
софта. Он - толерантный например в части качества визуального материала. Еще Джон Кармак предлагал
различную поэтапную загрузку деталей текстур. MipMap.

Игровой мир разбит на локации. Не всем можно/нужно в новую локацию. Но она скачается прямо в процессе игры.
Но если она ещё не скачена, а пользователь туда уже ломится, ну снова в ожидание с приоритетом на скачивание
именно этой локации.

Главное преимущество — торренты встроенные прямо в updater игры. Пользователь даже не знает, что он торренты юзает и
сам же отдаёт обновление игры.

Сообщение было отредактировано: 14 апр 21, 21:48
14 апр 21, 21:54    [22309076]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
ъъъъъ
Member

Откуда:
Сообщений: 2114
petrav,

торренты - это не магия, есть бесплатные библиотеки с простым интерфейсом, как раз для создания серверов мини- торрент-трекеров в целях реализации онлайн-дистрибуции.
14 апр 21, 23:34    [22309100]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53394

Более того, одна из этих библиотек - WinAPI с недавнего времени.

Posted via ActualForum NNTP Server 1.5

15 апр 21, 00:31    [22309117]     Ответить | Цитировать Сообщить модератору
 Re: httplib: скорость клиент-серверного обмена (HTTP 1.1)  [new]
ъъъъъ
Member

Откуда:
Сообщений: 2114
Dimitry Sibiryakov
ъъъъъ
клиент создает сокет ipv6, который лезет к серверу ipv4, обламывается через 2 секунды,
берет следующий addrinfo с ipv4, получает правильный коннект.

Вот именно поэтому правильные клиенты создают сокеты сразу для всех полученных addrinfo,
коннектятся в неблокирующем режиме и используют тот сокет, который сумел успешно
подключиться раньше остальных. Остальные можно либо пристрелить, либо отправить в пул для
последующего повторного использования.

И итоге, автор просто добавил метод
set_address_family(int);

Теперь перед коннектом можно принудительно задать, например, AF_INET или AF_INET6. :)
15 апр 21, 04:14    [22309134]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: 1 2 3 4      [все]
Все форумы / C++ Ответить