Способен ли POCO ++ на совместное использование портов?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Способен ли POCO ++ на совместное использование портов?

Сообщение Anonymous »

Основная цель состоит в том, чтобы представить API REST для существующей услуги, написанной в C ++, и PoCO, по -видимому, является лучшим совпадением для этого. Есть другие службы, которые должны работать на одной и той же машине. Конечно, все услуги должны работать на порту 80 для HTTP и на порту 443 для HTTPS. Другие сервисы написаны в .NET и являются либо услугами WCF, работающими на .net Framework 4.7.2 или .net 8 Web Services. Также возможно, чтобы IIS бежал рядом с ним. Все они работают на портах 80 и /или 443, без проблем.
Все работает только в Windows. Либо службы .NET не могут запустить, либо, если они уже запускаются, у Poco есть ошибка.
Если сервис C ++ запускается первым, я получаю свой (еще) статический ответ при доступе к 127.0.0.1 (так что он работает нормально) в браузере, но начинающие другие сервисы. />.net 8 Сервис: microsoft.aspnetcore.server.httpsys.httpsysexception (32): процесс не может получить доступ к файлу, потому что он используется другим процессом. Отказ
Вот код (пожалуйста, игнорируйте управление памятью, это только для POC)

Код: Выделить всё

Poco::Net::SocketAddress addr("0.0.0.0", 80);
Poco::Net::ServerSocket socket(addr);
socket.setReusePort(true);
socket.setReuseAddress(true);
Poco::Net::HTTPServer httpServer(new PocoRequestHandlerFactory("some format"), socket, new Poco::Net::HTTPServerParams());
httpServer.start();
Poco бросает исключение в этой строке: poco :: net :: serversocket socket (addr);
Я также пытался начать так:
Poco::Net::SocketAddress addr("0.0.0.0", 80);
Poco::Net::ServerSocket socket;
socket.bind(addr, true, true);
< /code>
Но это только приводит к брошению исключения в socket.bind (). < /p>
На самом деле можно обмениваться портом с Poco в Windows? Если да, как это работает?

Подробнее здесь: https://stackoverflow.com/questions/795 ... rt-sharing
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»