powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Что выбрать для межпроцессного взаимодействия модулей приложений?
145 сообщений из 145, показаны все 6 страниц
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39950632
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сокет юникс, protobuff, qRPC?
Ось линуксоподобная.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39950636
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shmem
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39950647
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

Боюсь слишком низкий уровень.
Все писать надо, семафоры, проверялки что там что то появилось для события. Сериализацию.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39950659
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, раз ты для себя уже всё решил, так в чём вопрос? Между устраивающими тебя вариантами
можешь выбирать с помощью монетки.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39950679
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39950687
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,
Не решил. Обсуждаем плюсы минусы
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39950688
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Сокет юникс, protobuff, qRPC?
Ось линуксоподобная.


protobuf здесь выпадает из списка. Он вобщем не относится к интеракции процессов.
Это просто протокол сериализации как и Avro/Apache Thrift. И его можно юзать и для
файлов и для сетей.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39950692
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Про D-Bus еще можно почитать. Вот щас в Ubuntu используется.

Вообще думаю надо пойти еще и от языка разработки и платформы. Если Qt - то будет одно.
Если Java то будет еще штук 20 как.

ZeroMq удобен когда 1 процесс должен за секунду передать тыщу мегабайт в другой
процесс и тот другой должен так-же быстро это схавать. Если таких требований нет
- то лучше наверное брать что-то высокоуровневое. Или просто то что удобно программировать.
Без амбиций.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39950751
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima T

!!! :)
...
Я без зазрения совести пихаю ZMQ во все дыры, пока - полет нормальный.
Правда, я остановился на версии 4.2 (кажется), которую все еще под WinXP можно.
Очень классная транспортная основа, поверх неё легко наращивать прикладное "мясо". Легко расширяется и вбок и вглубь. Не завязан ни на какие-либо брокеры, особенности операционок, не требует инсталляции, надежность, понятные исходники. Почти нет разницы при организации разных уровней (межнитевое, межпроцессное, межкомпьютерное) взаимодействий.
Отличная документация, мощное комьюнити, бесплатно.

Из недостатков: если пытаться использовать сокеты ZMQ "привычным" ("а вот в <Berkeley Sockets>||<Windows Sockets>,...") образом - получится фигня, наблюдал не раз. Т.е., чтение документации должно предшествовать.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39950841
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Автору я предлагаю написать 2 превед-медвед-мира на D-Bus, ZeroMQ.

И просто посмотреть где оно практически будет удобно. И прикинуть цену внесения изменений.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39950954
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
PetroNotC Sharp
Сокет юникс, protobuff, qRPC?
Ось линуксоподобная.


protobuf здесь выпадает из списка. Он вобщем не относится к интеракции процессов.
Это просто протокол сериализации как и Avro/Apache Thrift. И его можно юзать и для
файлов и для сетей.

Да. Прочитал.
А там даже никаких вкусностей сверху нету?
У gRPC такая же картина? Не в курсе?
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39950960
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я протобуф использовал косвенно. Как часть проекта Apache-ORC. И там протобуф использовался
просто для хранения длинных последовательностей вещественных и целых чисел в файлах.
+Еще были опции сжатия. Но они скорее всего шли от Apache-ORC.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39950962
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
C gRPC не работал.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39950965
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Автору я предлагаю написать 2 превед-медвед-мира на D-Bus, ZeroMQ.

И просто посмотреть где оно практически будет удобно. И прикинуть цену внесения изменений.
как раз собираюсь.
Подскажи, ожидать API при общении с модулями как в шарпе или java
servis.getUser()
То есть построить семантику методы тут реально?
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39950968
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не понял суть вопроса. На примере лучше.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39950981
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Суть построения API в java и тут совершенно противоположная.
Тут шлем структуры с командами по одному и тому же методу.
По крайней мере в протобафе.
А в java или API google есть список методов с комментами.
Как сделать api на 50 методов.
В соап там прокси класс генерится с этими методами.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39950985
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Не понял суть вопроса. На примере лучше.

servis.getUser()
Сериализовать тут что?
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39950989
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вряд-ли я тебе отвечу на этот вопрос сразу. Ты начни делать HelloWorld - и по мере поступления
информации - будем смотреть где API удобнее.

Про сериализацию - непонятно. Можно ответить и да и нет. Смотря какие фреймворки и протоколы связи.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39951000
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
ОК. Попозже.
Протобаф - передача структур и классов в другой процесс. А мне метод с именем вызввть надо.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39960390
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Ты начни делать HelloWorld - и по мере поступления
информации - будем смотреть где API удобнее.

народ.
Подскажите как сделать бинарники в протобаф либе для студии в винде.
Я директиву make вообще не знаю.
Вот инструкция
https://github.com/protocolbuffers/protobuf/blob/master/src/README.md
авторTo build protobuf from source, the following tools are needed:

autoconf
automake
libtool
make
g++
unzip
Но тут меня напугало, что делать в винде? Если ничего этого нет?
И make я в жизни не запускал.
Что делать?
С чего начать?
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39960393
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот тут пишут что есть уже скомпилированные бинарники.
Но опять же, внутри архивов их не нашел
https://github.com/protocolbuffers/protobuf/releases/
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39960397
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ХЗ. Но там дальше по тексту они дают более конкретную ссылку на CMake + VisualStudio

https://github.com/protocolbuffers/protobuf/blob/master/cmake/README.md
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39960400
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
ХЗ. Но там дальше по тексту они дают более конкретную ссылку на CMake + VisualStudio

https://github.com/protocolbuffers/protobuf/blob/master/cmake/README.md

OK
CMake на компе не было - поставил.
Делаю дальше
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39960405
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
c:\Path\to\cmake\build\release>cmake -G "NMake Makefiles" ^
Продолжить?  -DCMAKE_BUILD_TYPE=Release ^
Продолжить?  -DCMAKE_INSTALL_PREFIX=../../../../install ^
Продолжить?  ../..
CMake Error: The source directory "C:/Path/to/cmake" does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.
- Как убрать вопрос Продолжить?
- путь добавлять в CMakeLists.txt?
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39960410
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
- путь добавлять в CMakeLists.txt?

по данному вопросу не тот путь был
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
c:\Path\to\cmake\build\release>cd c:\Path\to\protobuf\cmake\build\release

c:\Path\to\protobuf\cmake\build\release>cmake -G "NMake Makefiles" ^
Продолжить?  -DCMAKE_BUILD_TYPE=Release ^
Продолжить?  -DCMAKE_INSTALL_PREFIX=../../../../install ^
Продолжить?  ../..
-- The C compiler identification is unknown
-- The CXX compiler identification is unknown
CMake Error at CMakeLists.txt:20 (project):
  The CMAKE_C_COMPILER:

    cl

  is not a full path and was not found in the PATH.

  To use the NMake generator with Visual C++, cmake must be run from a shell
  that can use the compiler cl from the command line.  This environment is
  unable to invoke the cl compiler.  To fix this problem, run cmake from the
  Visual Studio Command Prompt (vcvarsall.bat).

  Tell CMake where to find the compiler by setting either the environment
  variable "CC" or the CMake cache entry CMAKE_C_COMPILER to the full path to
  the compiler, or to the compiler name if it is in the PATH.


CMake Error at CMakeLists.txt:20 (project):
  The CMAKE_CXX_COMPILER:

    cl

  is not a full path and was not found in the PATH.

  To use the NMake generator with Visual C++, cmake must be run from a shell
  that can use the compiler cl from the command line.  This environment is
  unable to invoke the cl compiler.  To fix this problem, run cmake from the
  Visual Studio Command Prompt (vcvarsall.bat).

  Tell CMake where to find the compiler by setting either the environment
  variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
  to the compiler, or to the compiler name if it is in the PATH.


-- Configuring incomplete, errors occurred!
See also "C:/Path/to/protobuf/cmake/build/release/CMakeFiles/CMakeOutput.log".
See also "C:/Path/to/protobuf/cmake/build/release/CMakeFiles/CMakeError.log".
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39960411
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp cl

is not a full path and was not found in the PATH.

Может, его нужно запускать из студийного шелла, который устанавливает все нужные
переменные окружения?.. Кстати, там может внезапно обнаружиться и CMаke, уже установленный
вместе со студией.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39960412
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я когда еще на винде сидел - все С++ каноничные вещи проверял сначала на виртуалке VBox под Linux.

Там обычно все "изкаробки" работает. А потом когда освоил что к чему переносил в винду.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39960416
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,
уже успел проверить немного эту идею.
Но там вроде круче.
С 17ой студии вообще самому не надо запускать CMake
https://docs.microsoft.com/en-us/cpp/build/cmake-projects-in-visual-studio?view=vs-2019
если я правильно понял.
Пробую апдейт студии
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39960418
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Там обычно все "изкаробки" работает.

винда и линукс слишком больная разница. Чтобы по шагам переносить.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39960422
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC SharpС 17ой студии вообще самому не надо запускать CMake

Они просто включили CMake в состав студии.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39960424
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да но этож мать ево Protobuf. Цитирую

language-neutral, platform-neutral, extensible mechanism for serializing structured data

Тоесть должен летать. Везде.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39960429
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
PetroNotC SharpС 17ой студии вообще самому не надо запускать CMake

Они просто включили CMake в состав студии.
ну это как раз на MS похоже - никаких копаний в файлах. Всё в IDE
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39960430
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Тоесть должен летать. Везде.

сборка без ide для меня темный лес.
Привычка.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39960435
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Dimitry Sibiryakov
пропущено...

Они просто включили CMake в состав студии.

ну это как раз на MS похоже - никаких копаний в файлах. Всё в IDE

У меня знакомец прямо из Студии приложения запускает в Линукс на виртуалке. Если я правильно его понял.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39960444
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav,
Если кроме него это никто не умеет, ценность этого сразу падает.

"Сложнее всего в мире достигнуть простоты — это крайняя граница опыта и последнее усилие гения". © George Sand.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39960450
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav,
У нас типа Git стоит.
Написал что то в винде. Протестил то что виндовое.
Потом отправил одной командой в хрранилище.
В линуксе получил и работай точно также.
Все равно есть места где директивы компилятору для кого участок кода.
Без этого не получается.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39960508
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот так счас делается бинарник CMake через студию.
Появилось понятие Проект CMake.
https://docs.microsoft.com/ru-ru/cpp/build/get-started-linux-cmake?view=vs-2019
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39960515
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Вот так счас делается бинарник CMake через студию.
Появилось понятие Проект CMake.
https://docs.microsoft.com/ru-ru/cpp/build/get-started-linux-cmake?view=vs-2019

Ну, собственно, мой знакомый примерно это и сделал. Он в Студии создал отдельную конфигурацию сборки для Linux. Прикрутил туда clang, какой-то из вариантов make. Запуск прямо из Студии в виртуалке с Линукс и удалённый отладчик.

Повторюсь, если я правильно понял.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39960561
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
language-neutral, platform-neutral, extensible mechanism for serializing structured data
Тоесть должен летать. Везде.Это для (уже готовой) реализации. Тоже самое можно сказать и про целую пачку прикладных интернет-протоколов.
Далее. Даже если у вас есть "platform neutral" исходные тексты, то это не отменяет суровой привязки к процессу сборки на всех этапах. А "platform-neutral toolchain" ещё не завезли. И, вроде как, даже не планируют.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39960591
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну хотя-бы декларированы намерения.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39960608
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp, а ты пробовал уже свои месседжи описать на этом птичьем языке?

https://developers.google.com/protocol-buffers/docs/cpptutorial
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39960612
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
PetroNotC Sharp, а ты пробовал уже свои месседжи описать на этом птичьем языке?
https://developers.google.com/protocol-buffers/docs/cpptutorial

дак это сишный язык))
На одном конце профиля - структуры. Мы их кидаем на другой конец провода.
Всё банально.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39960614
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav
PetroNotC Sharp
Вот так счас делается бинарник CMake через студию.
Появилось понятие Проект CMake.
https://docs.microsoft.com/ru-ru/cpp/build/get-started-linux-cmake?view=vs-2019

Ну, собственно, мой знакомый примерно это и сделал. Он в Студии создал отдельную конфигурацию сборки для Linux. Прикрутил туда clang, какой-то из вариантов make. Запуск прямо из Студии в виртуалке с Линукс и удалённый отладчик.

Повторюсь, если я правильно понял.

возможно.
Просто это имхо дичайший оверхед.
Мне всего нужен батник в винде чтобы всё скомпилировалось.
Пришлось ставить CMake в Program Files и ....хорошо что студия взяла это всё Г...требуху к себе.
Но ещё я не понял, поддерживают ли формат студия<--> Make File все проекты на гитхабе.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39960616
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
PetroNotC Sharp, а ты пробовал уже свои месседжи описать на этом птичьем языке?

https://developers.google.com/protocol-buffers/docs/cpptutorial

с другой стороны я выше жаловался, что мне структуры не нужны. Мне
22122055
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39960617
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Про D-Bus еще можно почитать

Не надо dbus. Тогда уж rabbitmq/kafka.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39960618
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
mayton
PetroNotC Sharp, а ты пробовал уже свои месседжи описать на этом птичьем языке?
https://developers.google.com/protocol-buffers/docs/cpptutorial

дак это сишный язык))
На одном конце профиля - структуры. Мы их кидаем на другой конец провода.
Всё банально.

Я знаю что банально. Опубликой что-нибудь.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39960619
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Я знаю что банально. Опубликой что-нибудь.

Обязательно. Я ещё не скомпилил))))
Линкер ругается.
В процессе.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39960627
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
mayton
PetroNotC Sharp, а ты пробовал уже свои месседжи описать на этом птичьем языке?

https://developers.google.com/protocol-buffers/docs/cpptutorial

с другой стороны я выше жаловался, что мне структуры не нужны. Мне
22122055

А зачем ты учишься собирать protobuf если тебе нужен удалённый вызов методов, как я понял?
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39960630
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav,
мне вообще нужны просто бинарники для винды от него
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39960633
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav,
Я делаю Hello World
protobuff --> qRPC
потом возможно ZeroMQ.
Ты про него что там есть вызов методов?
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39960640
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp

потом возможно ZeroMQ.
Ты про него что там есть вызов методов?

Я просто пробежался по описанию protobuf, почитал твои посты и задал вопрос.

А ты не интересовался Inter-Process Communication in Qt? Вон они пишут, что к D-Bus прикрутили систему слоты-сигналы. Ты же на Qt программируешь?
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39960642
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav,
Я тоже чисто прочитал что в Qt сигналы меж процессов не работают.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39960653
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
petrav,
Я тоже чисто прочитал что в Qt сигналы меж процессов не работают.

А я по документации и примерам (D-Bus Chat Example) вижу что работают. Я правда не уверен, что это будет работать под Win. Но у меня собралось, запустилось и написало, что не может подключиться к сессии D-Bus.

Код: plaintext
1.
2.
3.
4.
org::example::chat *iface;
iface = new org::example::chat(QString(), QString(), QDBusConnection::sessionBus(), this);
QDBusConnection::sessionBus().connect(QString(), QString(), "org.example.chat", "message", this, SLOT(messageSlot(QString,QString)));
connect(iface, SIGNAL(action(QString,QString)), this, SLOT(actionSlot(QString,QString)));


Может я что-то не понимаю...
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39960658
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav,
ну, если не трудно то сделайте демку. Я не такой уж спец.
- два Qt приложения Сервер и клиент
- запускаем рядом в разных процессах
- в окошке клиента вводим 1234 и в окошке сервера это появилось.
А потом я попробую.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39960666
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
petrav,
ну, если не трудно то сделайте демку. Я не такой уж спец.
- два Qt приложения Сервер и клиент
- запускаем рядом в разных процессах
- в окошке клиента вводим 1234 и в окошке сервера это появилось.
А потом я попробую.

Зайди в папку аля "Examples\Qt-5.10.1\dbus\". Там есть сэмпл "chat" и даже файл .pro есть, xml описание протокола.
Код: plaintext
1.
2.
DBUS_ADAPTORS += org.example.chat.xml
DBUS_INTERFACES += org.example.chat.xml
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39960670
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav
"Examples\Qt-5.10.1\dbus\"
OK
Счас, добью protobuf и посмотрю. Спс.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39960795
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Вот так счас делается бинарник CMake через студию.
Появилось понятие Проект CMake.
https://docs.microsoft.com/ru-ru/cpp/build/get-started-linux-cmake?view=vs-2019

вроде работает.
Нужно правой кнопой на проекте и buid - libprotobuf.lib = появится в Users....
............
Но при переключении конфига exe с release на debug ошибка:
Код: plaintext
Error	LNK2038	mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in project-name.obj	project-name	D:\project-name\libprotobuf.lib(common.cc.obj)	1
Либу я сделал одну в режиме release и прописал в проект exe тоже одну.
Если я не отлаживаю либу а отлаживаю экзешник это правильно?
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39960825
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp

Либу я сделал одну в режиме release и прописал в проект exe тоже одну.
Если я не отлаживаю либу а отлаживаю экзешник это правильно?

Конечно. Но я бы всё же разобрался что там происходит с макросом '_ITERATOR_DEBUG_LEVEL'. Это не сложно.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39960924
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
c Protobuf демкой вопрос решён - работает.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
/*********.proto*****************************
syntax = "proto2";
package pack.my;
message Person{
  string name = 1;
}
**************************************/
#define WIN32_LEAN_AND_MEAN

#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <string>
#include <winsock2.h>
#include <windows.h>
#include <ws2tcpip.h>
#include <conio.h>
#include "addressbook.pb.h"
#include "addressbook.pb.cc"

#pragma comment (lib, "WS2_32.lib")
#pragma comment (lib, "Mswsock.lib")
#pragma comment (lib, "AdvApi32.lib")

using namespace std;
using namespace pack::my;

void savePerson(const char* fname, const Person& person) {
	fstream out(fname, ios::out | ios::trunc | ios::binary);
	if (!person.SerializeToOstream(&out))
		throw runtime_error("savePerson() failed");
}

void loadPerson(const char* fname, Person& person) {
	fstream in(fname, ios::in | ios::binary);
	if (!person.ParseFromIstream(&in))
		throw runtime_error("loadPerson() failed");
}

int main(int argc, char* argv[]) {
	GOOGLE_PROTOBUF_VERIFY_VERSION;

	Person person;
	person.set_name("aaa");
	cout << "Saving Person..." << endl;
	savePerson("12345678.dat", person);

	cout << "Loading Person..." << endl;
	Person person2;
	loadPerson("12345678.dat", person2);
	cout << "----> PRINT Person class: " << person2.name() << endl;
	cout << endl;
	// Optional:  Delete all global objects allocated by libprotobuf.
	google::protobuf::ShutdownProtobufLibrary();

	return 0;
}
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39960929
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp,

Если по некоему каналу данных будут в произвольном порядке передаваться структуры Person, Cat, Dog. Эта проблема решена в protobuf?
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39960935
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav,
Мне стыдно за либу но там нифига нет кроме сериализации.
То есть как из строки сделать классы там живые ...в оперативке.
ParseFromIstream(...
Всё
То есть ваш вопрос решается не в либе а в любом коде сервера.
Если передача асинхронно, то будет беспорядочно.
Если синхронна, то будем ждать ответа или освобождения канала.
Имхо
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39960940
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav,
ну вот, я собираюсь qRPC либу посмотреть.
Говорят она в яндекс маркете)
Дак вот там генерируетя как синхронный так и асинхронный сервер-клиент.
Как раз ваш вопрос.
https://habr.com/ru/company/yandex/blog/484068/
авторЕще одна фича gRPC — клиент и сервер генерируются при помощи proto-компилятора и gRPC-плагина на основе proto-описания. Есть возможность в моменте, когда пишется код, выбрать какой клиент будет использоваться. То есть выбрать асинхронный или синхронный клиент, в зависимости от того, какого рода код вы пишите.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39960942
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
petrav,
Мне стыдно за либу но там нифига нет кроме сериализации.
То есть как из строки сделать классы там живые ...в оперативке.

(Развёл руками)

Protobuf — это гугловская разработка? Через год они похоронят этот проект. У Гугла традиция убивать проекты. Что-то новое изобретут. У них есть деньги на переписывание своих проектов на другие либы. Есть ли эти деньги у тебя? Поэтому я и предлагаю что-то более стабильное: D-Bus + Qt. Но это, я опасаюсь, под Win будет сложно запустить. Но под Linux работать будет, слоты-сигналы.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39960981
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav,
Дык у тебя исходники. Хоть вечно работай.
Таки же как и DBus.
Только боюсь там транспорт писать надо. Опять просто расшаривает данные на 2 процесса. Я посмотрю позже.
Ну а бросает разработчиков не гугл а MS.
Вспомни COM, Сильверлайт, веб сервер единственный.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39960985
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
petrav,
Дык у тебя исходники. Хоть вечно работай.

Ты считаешь, что сможешь саппортить разработку Гугла? Это хорошо, что ты так считаешь, смелость и безбашенность города берёт.

PetroNotC Sharp
Таки же как и DBus.
Только боюсь там транспорт писать надо. Опять просто расшаривает данные на 2 процесса. Я посмотрю позже.

Какой транспорт, когда там явно написан в примерах межпроцессный вызов сигналов-слотов и, очевидно, кодогенерация по xml описанию протокола взаимодействия. Не смотри. :)

PetroNotC Sharp
Ну а бросает разработчиков не гугл а MS.
Вспомни COM, Сильверлайт, веб сервер единственный.

Ещё OLE и DDE. А они что IIS убили? Что-то сомневаюсь.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39960986
petrav
А они что IIS убили? Что-то сомневаюсь.

Nginx всех убил.
Apache по инерции плывёт, но тонет каждый год.
а IIS даже не пытается всплывать.
2017
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39960988
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза
petrav
А они что IIS убили? Что-то сомневаюсь.

Nginx всех убил.
Apache по инерции плывёт, но тонет каждый год.
а IIS даже не пытается всплывать.
2017
нет
ASP Net core полностью без обратной совместимости.
Все проекты надо переписать с нуля.
Ну а там первый кроссплатформенный веб сервер kestrel.
MS поняло что упустило линукс
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39960989
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav,
Что значит саппортить?
По русски это сопровождать?
Откройте выше ссылку. Там 3 файла cpp.
Любой заказчик лучше это возьмет чем наколенное поделие.
А либа 1 и либа 2 чем не равны?
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961003
PetroNotC Sharp
Алексей Роза
пропущено...

Nginx всех убил.
Apache по инерции плывёт, но тонет каждый год.
а IIS даже не пытается всплывать.
2017
нет
ASP Net core полностью без обратной совместимости.
Все проекты надо переписать с нуля.
Ну а там первый кроссплатформенный веб сервер kestrel.
MS поняло что упустило линукс

YouTube Video
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961018
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза,
"слишком много" это не инженерный термин. Перефразируйте свою мысль.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961028
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Розана ютубе, кстати, про protobuf много
слишком много для такой простой технологии, где "только сериализация"...

Ты ещё с порно сравни...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961031
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp

А либа 1 и либа 2 чем не равны?

Тем что Qt у тебя уже есть, а добавляя ещё одну библиотеку — ты добавляешь новую зависимость.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961039
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav,
Согласен. Если функционал требуемый одинаков в обоих, то D-Bus выигрывает.
Но решают что брать как и у тебя наверху.
Я готовлю аналитическую записку по вариантам А, Б, С.
Эта тема обзорная. По всему что есть межпроцессного.
Дойду и до D-Bus.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961113
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
petrav
Ты считаешь, что сможешь саппортить разработку Гугла? Это хорошо, что ты так считаешь, смелость и безбашенность города берёт.

Там нечего саппортить, протобуф - это идея. Масса самопальных реализаций для языков, не поддерживаемых гуглом.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961117
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav
PetroNotC Sharp

А либа 1 и либа 2 чем не равны?

Тем что Qt у тебя уже есть, а добавляя ещё одну библиотеку — ты добавляешь новую зависимость.

Ну и что?
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961119
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
petrav
пропущено...

Тем что Qt у тебя уже есть, а добавляя ещё одну библиотеку — ты добавляешь новую зависимость.

Ну и что?

Да ничего, нормально всё. Добавляйте. Только не понятно зачем задавать бессмысленные вопросы? Или вам снова процитировать разработчика PVS Studio?
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961122
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav
mayton
пропущено...

Ну и что?

Да ничего, нормально всё. Добавляйте. Только не понятно зачем задавать бессмысленные вопросы? Или вам снова процитировать разработчика PVS Studio?

Нет я считаю что инженерия знаний - это поиск и исопльзование. Если ты нашел что-то и оно решает
твою задачу в разумные сроки - это успех.

Если из принципа не подключать зависимости к коду (дескыть я и сам напишу) - то такой путь
предполагает что ты напишешь сам вообще все. И драйвер к БД. И рендерер 3Д графики.
Можно и Буст написать.

Вобщем граница здесь - зыбкая. Я не осуждаю. Не хотите - не используйте. Но эволюционный
процесс - предполагает предпочтение повторного использования изобретению.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961124
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonЕсли ты нашел что-то и оно решает твою задачу в разумные сроки - это успех.

А если нашёл что-то, что решает не совсем твою задачу или не совсем её решает? Вот как у
топикстартера, например.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961125
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Protobuf - все решит.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961126
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если решит не всё, надо найти ещё одну библиотеку, которая в сочетании с ним решит
недостающее. Это Ява-ой-вэй.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961127
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
petrav
пропущено...

Да ничего, нормально всё. Добавляйте. Только не понятно зачем задавать бессмысленные вопросы? Или вам снова процитировать разработчика PVS Studio?

Нет я считаю что инженерия знаний - это поиск и исопльзование. Если ты нашел что-то и оно решает
твою задачу в разумные сроки - это успех.

Если из принципа не подключать зависимости к коду (дескыть я и сам напишу) - то такой путь
предполагает что ты напишешь сам вообще все. И драйвер к БД. И рендерер 3Д графики.
Можно и Буст написать.

Я где-то призывал не использовать сторонние библиотеки? Да ерунда, не было такого. Вы манипулируете.

mayton
Вобщем граница здесь - зыбкая. Я не осуждаю. Не хотите - не используйте. Но эволюционный
процесс - предполагает предпочтение повторного использования изобретению.

Нет, эволюция как раз и есть квинтэссенция изобретения.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961129
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

А если решит не всё, надо найти ещё одну библиотеку, которая в сочетании с ним решит
недостающее. Это Ява-ой-вэй.

На этом форуме явно не хватает функции лайков. :) Лайк!
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961130
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav
Нет, эволюция как раз и есть квинтэссенция изобретения.

Давай отвлечемся. Как ты думаешь? Зачем было созданое "наследование" как один из пунктов идеологии ООП?
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961131
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav

Я где-то призывал не использовать сторонние библиотеки? Да ерунда, не было такого. Вы манипулируете.

Тогда прошу прощения. Это направление дискуссии закрыто.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961132
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
petrav
Я где-то призывал не использовать сторонние библиотеки?

Только те, которые Гугл "тянет"?
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961138
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
petrav
Нет, эволюция как раз и есть квинтэссенция изобретения.

Давай отвлечемся. Как ты думаешь? Зачем было созданое "наследование" как один из пунктов идеологии ООП?

Я, конечно, готов обсуждать банальные вещи, потому что часто нам вещь кажется банальной. Но на практике она оказывается очень сложной, хотя и выгладят простой с первого взгляда. Но в таком случае и вопрос должен намекать на какие-то неординарные моменты. А ваш вопрос банален. Не вижу смысла на него отвечать по сути.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961140
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"стакан полу налитый или полупустой"? )))
Я выше про функционал говорил к такому примеру.
Если потребуется отправить команду - метод по IP на другую машину то qRPC решит задачу.
А DBus не решит.
Это как пример функционала.
Надо это или нет решает руководство.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961156
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
"стакан полу налитый или полупустой"? )))
Я выше про функционал говорил к такому примеру.
Если потребуется отправить команду - метод по IP на другую машину то qRPC решит задачу.
А DBus не решит.
Это как пример функционала.
Надо это или нет решает руководство.


Тут еще тонкий момент. Есть взаимодействие типа посылка месседжей (MQ). И есть - вызов методов (RPC).
Они похожи но первый асинхронный и практически без обратной связи. Тоесть контролируется просто
факт доставки хотя-бы одному потребителю. Работает очень быстро. А что дальше с сообщением
случилось на прикладном уровне? Обработано оно или у тебя был division by zero... ХЗ. Это уже
не задачи MQ. Это уже прикладной слой.

И второе взаимодействие - дёрнул метод (RPC) и получил код ошибки. Работает
медленно. Но надежно. Каждая интеракция между процессами имеет фиксацию.
Ты точно знаешь что получил ответ.

ZeroMQ, DBus - это про первое. Это стрим месседжей.

Любая библиотечка Rest/SOAP/Http - это второе.

И protoBuf - это ни первое и не второе а просто протокол сериализации-десериализации объекта в БЛОБ.
Причем такой блоб которому пофиг на разрядность int, и пофиг на порядок байтов в слове (BigEndian).
И более того. ProtoBuf может подружить между собой например C++/JavaScript и все остальное.

Мы используем протобуф не напрямую а косвенно как Apache-ORC - формат документа для биг-дата
где десятки терабайт таблиц упаковываются в такие-себе Vertical Arrays. И со сжатием ZLib/Snappy
уже поверх данных и завернутых в proto.

А какие усилия сишник потратит для поддержки вот такой кросс-платформенности на основе структур
struct? Я не знаю. Опять-же чтоб прочувствовать преимущества прото-буф - надо чтобы оба процесса
были на разных архитектурах.

А если у тебя процессы - гомогенные (оба под Win32 и одной разрядности) то наверное протобуф
тебе и не нужен.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961158
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav
mayton
пропущено...

Давай отвлечемся. Как ты думаешь? Зачем было созданое "наследование" как один из пунктов идеологии ООП?

Я, конечно, готов обсуждать банальные вещи, потому что часто нам вещь кажется банальной. Но на практике она оказывается очень сложной, хотя и выгладят простой с первого взгляда. Но в таком случае и вопрос должен намекать на какие-то неординарные моменты. А ваш вопрос банален. Не вижу смысла на него отвечать по сути.


С тобой иногда бывает так сложно говорить. Вот ты сказал первый свою банальность дескыть:

>> Тем что Qt у тебя уже есть, а добавляя ещё одну библиотеку — ты добавляешь новую зависимость.

Это - банальность. Знаешь я не помню в каком бизнес-сегменте ты работешь. Кажется что-то с авиацией
или АСУТП. Но мне кажется что у тебя есть определённая проф-деформация.

Я всегда старался из себя эту деформацию изгонять. Смотреть на мир широко отрытыми глазами
и не позволять предвзятости брать верх.

У тебя есть элемент предвзятости. Ты сослался на PVS-Studio? Ты что? Cотрудник этой организации?
Зачем вообще нам в дискуссию затаскивать это? Неужели у нас нет аргументов кроме какого-то кастомного
приложения которое создавалось чтоб стыдливо закрыть дефекты 40 летней эволюции кодирования на С++?
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961164
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Есть взаимодействие типа посылка месседжей (MQ).

конечно, в данном топике message-oriented middleware мы не рассматриваем.
Все просто - getName() из другого процесса\демона
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961168
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton

А какие усилия сишник потратит для поддержки вот такой кросс-платформенности на основе структур
struct? Я не знаю. Опять-же чтоб прочувствовать преимущества прото-буф - надо чтобы оба процесса
были на разных архитектурах.

На самом деле обмен структурами Human, Car, Dog... причём в произвольном порядке в канале данных. Это весит, ну максимум 500 строчек кода. С проверкой контрольной суммы, с анализом возможных шумов в канале данных. Причём взаимодействие на разных архитектурах.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961170
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav
Это весит, ну максимум 500 строчек кода.

какого уровня программиста и сколько будет в баксах потеря компании если там баги?
Вот пример на java простейшего сервера для школы.
Они есть готовые
---------
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;

public class TestAsServer {

/**
 * 
 * @param args
 * @throws InterruptedException
 */
    public static void main(String[] args) throws InterruptedException {
//  стартуем сервер на порту 3345

        try (ServerSocket server= new ServerSocket(3345)){
// становимся в ожидание подключения к сокету под именем - "client" на серверной стороне                                
                Socket client = server.accept();

// после хэндшейкинга сервер ассоциирует подключающегося клиента с этим сокетом-соединением             
                System.out.print("Connection accepted.");

// инициируем каналы для  общения в сокете, для сервера     

// канал записи в сокет
                DataOutputStream out = new DataOutputStream(client.getOutputStream());
                System.out.println("DataOutputStream  created");

                // канал чтения из сокета
                DataInputStream in = new DataInputStream(client.getInputStream());
                System.out.println("DataInputStream created");

// начинаем диалог с подключенным клиентом в цикле, пока сокет не закрыт                
                while(!client.isClosed()){

                System.out.println("Server reading from channel");

// сервер ждёт в канале чтения (inputstream) получения данных клиента               
                String entry = in.readUTF();

// после получения данных считывает их              
                System.out.println("READ from client message - "+entry);

// и выводит в консоль              
                System.out.println("Server try writing to channel");

// инициализация проверки условия продолжения работы с клиентом по этому сокету по кодовому слову       - quit  
                if(entry.equalsIgnoreCase("quit")){
                    System.out.println("Client initialize connections suicide ...");
                    out.writeUTF("Server reply - "+entry + " - OK");    
                            out.flush();
                    Thread.sleep(3000);
                    break;
                }

// если условие окончания работы не верно - продолжаем работу - отправляем эхо-ответ  обратно клиенту               
                out.writeUTF("Server reply - "+entry + " - OK");                
                System.out.println("Server Wrote message to client.");

// освобождаем буфер сетевых сообщений (по умолчанию сообщение не сразу отправляется в сеть, а сначала накапливается в специальном буфере сообщений, размер которого определяется конкретными настройками в системе, а метод  - flush() отправляет сообщение не дожидаясь наполнения буфера согласно настройкам системы             
                out.flush();    

                }

// если условие выхода - верно выключаем соединения             
                System.out.println("Client disconnected");
                System.out.println("Closing connections & channels.");

                // закрываем сначала каналы сокета !
                in.close();
                out.close();

                // потом закрываем сам сокет общения на стороне сервера!
                client.close();

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

                System.out.println("Closing connections & channels - DONE.");
            } catch (IOException e) {
                e.printStackTrace();
        }
    }
}
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961171
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav,
а шумы в канале откуда?
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961172
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
petrav
пропущено...

Я, конечно, готов обсуждать банальные вещи, потому что часто нам вещь кажется банальной. Но на практике она оказывается очень сложной, хотя и выгладят простой с первого взгляда. Но в таком случае и вопрос должен намекать на какие-то неординарные моменты. А ваш вопрос банален. Не вижу смысла на него отвечать по сути.

С тобой иногда бывает так сложно говорить.

У всех свои недостатки, я прошу прощения.

mayton
Вот ты сказал первый свою банальность дескыть:

>> Тем что Qt у тебя уже есть, а добавляя ещё одну библиотеку — ты добавляешь новую зависимость.

Это - банальность.

Конечно, это банальность. Но я не задавал банальных вопросов. А вы, mayton , задали именно что банальные вопросы. При этом вы высококвалифицированный программмист.

mayton
Знаешь я не помню в каком бизнес-сегменте ты работешь. Кажется что-то с авиацией
или АСУТП.

Нет.

mayton
Но мне кажется что у тебя есть определённая проф-деформация.

Конечно, как и у вас.

mayton
Я всегда старался из себя эту деформацию изгонять. Смотреть на мир широко отрытыми глазами
и не позволять предвзятости брать верх.

Это пример для подражания.

mayton
У тебя есть элемент предвзятости. Ты сослался на PVS-Studio? Ты что? Cотрудник этой организации?

Нет, я не сотрудник этой компании. Да, у меня есть элемент предвзятости, но эта предвзятость основана на боевом опыте и на статьях, которые они пишут. Я просто их уважаю и понимаю.

mayton
Зачем вообще нам в дискуссию затаскивать это? Неужели у нас нет аргументов кроме какого-то кастомного
приложения которое создавалось чтоб стыдливо закрыть дефекты 40 летней эволюции кодирования на С++?

?! Хватит говорить ерунду.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961173
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет. Сокет-сервер - это слишком примитивно. Автору нужен API для
синхронных интеракций. Например на базе Http.

Давайте на верхнем архитектурном уровне
нарисуем этот API как абстракции. А потом имплементируем.

Код: plaintext
1.
2.
3.
interface IPetroServer {
        
}


Почему я хочу именно в таком виде. Чтобы отвязаться от всяких Human, Car, Doc
и от разговоров ниочем.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961175
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav, давай возьмем паузу на недельку. Просто мы напрягаем
общество банальностями и перебранкой.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961176
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton
Автору нужен API для
синхронных интеракций. Например на базе Http.

Например, ZeroMQ с парой штатный zmq сокетов req-rep.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961177
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ъъъъъ
mayton
Автору нужен API для
синхронных интеракций. Например на базе Http.

Например, ZeroMQ с парой штатных zmq сокетов req-rep.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961179
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ,
ну дак, для кругозора и альтернативы надо ещё знать одну - две либы.
Чтобы выбирать то было из чего.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961183
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp,

это же прикольно.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961187
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ,
прикольно в ПТ
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961189
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
petrav
Это весит, ну максимум 500 строчек кода.

какого уровня программиста и сколько будет в баксах потеря компании если там баги?

Обмен через сокеты (или любой другой канал данных) любыми структурами в любой последовательности реализуется средним программистом за пару недель. 1-3-ри дня на разработку. И две недели на тестирование на фоне другой работы. Там просто... очень просто. Без багов.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961192
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav,
угу.
И в каждой фирме сидит прогер и пилит через сокеты)))
Неужели сериализацию тоже? )))
А асинхронность могём?
Этот прогер только потоки неделю отлаживать будет.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961193
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav,
в принципе, одному прогеру дали интерфейс и он пошёл писать БЛ (бизнес-логику).
mayton
Код: plaintext
1.
2.
3.
interface IPetroServer {
        
}


ну а ваш прогер пусть пилит транспорт. Будет два прогера. Системщик и Разработчик ИС.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961198
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да. Это разумное разделение архитектуры на слои. Но мой поинт
был в том чтобы создать УСЛОВИЯ сравнения между собой
zmq req-rep, HTTP(Rest/GraphQL), SOAP, gRPC.

Единый интерфейс - это что-то вроде общего знаменателя. Или правил судейства.
Сами посудите если я нарисую интерфейс
Код: plaintext
1.
2.
3.
interface IPetroServer {
   void method1(string arg1);      
}



то мы мысленно упрощаем себе постановку. И нам уже не нужны сложные
протоколы сериализации объектов. А если так

Код: plaintext
1.
2.
3.
interface IPetroServer {
   CarResult method1(const Car &car);      
}



То это кардинально переворачивает постановку. Нам уже нужны способы
как сериализовать сложный объект Car и уже здесь как раз выходит на сцену
XML, JSON, eBML, ProtoBuf, Apache Avro, Thrift. (из этого списка я юзал все
пожалуй кроме последнего).

А если нужна сложная модель данных - или само-документрированность
то лучше SOAP или GraphQL.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961199
PetroNotC Sharp
Вот пример на java простейшего сервера для школы.

голосую за вылизанную либу протобафов.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961206
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
То это кардинально переворачивает постановку.
где?
Я выше писал что нужно getName()
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961209
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как-то настолько у тебя всё легко что я ищу подвох.
Получается что ты так долго сетапишь удалённое взаимодействие
только для того чтобы ... взять name() ?

Оно-же string возвращает?

А другие методы у тебя будут?
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961210
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Код: plaintext
Error	LNK2038	mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in project-name.obj	project-name	D:\project-name\libprotobuf.lib(common.cc.obj)	1

так что делать с этой ошибкой?
Вставил отладочную lib в проект release.
При компиляции эта ошибка.
Релизной либы нету.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961211
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Как-то настолько у тебя всё легко что я ищу подвох.
я люблю простоту

mayton
Получается что ты так долго сетапишь удалённое взаимодействие
только для того чтобы ... взять name() ?

не было удаленного особо

mayton
Оно-же string возвращает?

и что?
Надо std:string\QString?

mayton
А другие методы у тебя будут?

Выше писал 100 - 200 методов
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961212
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp

Выше писал 100 - 200 методов

Опиши что будет у тебя в этих методах. Только строки или будешь
гонять сложные объекты.

Без бизнесовых имен разумеется.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961215
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
PetroNotC Sharp

Выше писал 100 - 200 методов

Опиши что будет у тебя в этих методах. Только строки или будешь
гонять сложные объекты.

Без бизнесовых имен разумеется.

Меня другое интересует. 200 методов — это нормально?
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961217
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну... чисто с человеческой точки зрения наверное тяжело
разбирать такой API. Если побить его на 7 пакетов (по 30 методов)
в каждом то уже как-то легче.

Я думаю что есть какой-то признак как можно побить.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961219
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Ну... чисто с человеческой точки зрения наверное тяжело
разбирать такой API. Если побить его на 7 пакетов (по 30 методов)
в каждом то уже как-то легче.

Может и не то что бы тяжело, а просто гавнокодинг? 200 методов...

А вы, давеча, рассказывали про бизнесовый объект с 1000-й полей данных.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961222
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так то - другое. Никто конечно Java-класс с 1000 полями не создает.
Но таблица в бигдате реально существует. И есть отдельно спека
которая такой описывает.

А если надо с энтитей поработать то на нее смотрят сквозь призму
какого-то интерфеса. Например если это Organization то у нее есть
к примеру штук 20 базовых свойств. Вот с ними и работают.
Если нужны там квартальные отчоты по организации то можно
посмотреть через другой.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961240
Core Guidelines настаивает, что в классе должен быть минимум методов...
автор# C.4: Make a function a member ONLY if it needs direct access to the representation of a class.
Меньшее связывание, чем с функциями-членами, меньшее количество функций, которые могут вызвать проблемы при изменении состояния объекта, уменьшает количество функций, которые необходимо изменить после изменения представления.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961249
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
200 методов? Ну наверно преувеличил.
Это как бд выбирают.
Нужно 500 мегов, а ТЗ пишут на 5 гигов)))
Что в методах?
Простые типы или классы?
Постараемся простые.
Классы сложнее версионность поддерживать.
Да и основа REST.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961250
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза,
Не в классе 200 методов, а на ИС 200 методов.
А в ИС может быть 200 классов.
Вот и выходит по одному на класс.
Class ракета.run
Class пиво.run
Class юзверь.run
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961251
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты же не сразу сделаешь 200 методов.

Будет какой-то итеративный процесс.

Побьешь на несколько ендпоинтов. В процессе.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961252
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
PetroNotC Sharp
Код: plaintext
Error	LNK2038	mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in project-name.obj	project-name	D:\project-name\libprotobuf.lib(common.cc.obj)	1

так что делать с этой ошибкой?
Вставил отладочную lib в проект release.
При компиляции эта ошибка.
Релизной либы нету.

Щаз тупо дам поиск по строке во всех иходниках в тотал коммандере.
Буду искать макрос.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961254
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Конечно.
Счас вообще один метод тестирую.
С одним protobuf неудобно.
Нужно придумать структуру и там поля
Имя метода
Возврат
Тип возврата
Параметер1, парам2,
Тип парам1, тип парам2,
....
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961261
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Щаз тупо дам поиск по строке во всех иходниках в тотал коммандере.

поиск дал строку только в *.obj и двоичных файлах(
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961262
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
PetroNotC Sharp
Щаз тупо дам поиск по строке во всех иходниках в тотал коммандере.

поиск дал строку только в *.obj и двоичных файлах(

В исходниках библиотеки искал? Что в аля Microsoft.Cpp.Win32.user?
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961265
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
mayton,
Конечно.
Счас вообще один метод тестирую.
С одним protobuf неудобно.
Нужно придумать структуру и там поля
Имя метода
Возврат
Тип возврата
Параметер1, парам2,
Тип парам1, тип парам2,
....

Посмотри еще для комплекта Apache Thrift https://thrift.apache.org/

Как альтернатива protobuf. И я тоже для себя посмотрю.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961266
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav
В исходниках библиотеки искал?
проекта.
Уже нашел что в студии можно поставить
_HAS_ITERATOR_DEBUGGING = 0; _ITERATOR_DEBUG_LEVEL = 0;
но не работает
petrav
Что в аля Microsoft.Cpp.Win32.user?

где смотреть?
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961267
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Thrift
он на очереди после того что смотрю.
Как то староват показался.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961269
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp,

авторЕсли вы хотите намеренно связать свой проект A в выпуске с другим проектом B в Debug, скажем, чтобы сохранить общие преимущества производительности вашего приложения во время отладки, вы, скорее всего, ударите эту ошибку. Вы можете исправить это, временно изменив флаги препроцессора проекта B, чтобы отключить отладку итератора (и сделать его совпадением с проектом A):

В свойствах "Отладка" проекта "В", "Свойства конфигурации" → "C/С++ → ", "Предпроцессор", добавьте следующее в определения препроцессора:

_HAS_ITERATOR_DEBUGGING = 0; _ITERATOR_DEBUG_LEVEL = 0;

Восстановите проект B в Debug, затем создайте проект A в Release и он должен правильно установить ссылку.
не понял выделенное.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961270
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
mayton
Thrift
он на очереди после того что смотрю.
Как то староват показался.

А в чем старость?
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961271
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
А в чем старость?
цитируемость в интернете
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961272
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
mayton
А в чем старость?
цитируемость в интернете

Ну ассемблер тоже слабо цитируют. Хотя мы часто тут его косвенно обсуждаем.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961275
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
"обсуждаем но не применяем". Обсуждайте.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961277
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
petrav
В исходниках библиотеки искал?
проекта.
Уже нашел что в студии можно поставить
_HAS_ITERATOR_DEBUGGING = 0; _ITERATOR_DEBUG_LEVEL = 0;
но не работает
petrav
Что в аля Microsoft.Cpp.Win32.user?

где смотреть?

В Студии меню View -> Property Manager.

_ITERATOR_DEBUG_LEVEL для Дебаг == 2. Для Релиз == 0. По умолчанию. Не очень понятно, что у тебя происходит. Такое впечатление, что ты пытаешься собрать Дебаг, но собираешь Релиз.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961279
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почему-же? Ассемблер - это вообще главный ударный аргумент в вопросах перформанса
компилляторов старого типа C/C++. Тех которые сразу на выходе выдают x86/x86_64.

Про Java - тоже самое. И Елизаров и Шипилев приводят фрагменты ассемблера чтоб
показать что где и как мы схитрили и сделали какой финт ушами.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961280
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav,
типа
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961281
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Я люблю мейнстрим в IT.
Этим всё сказано.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961282
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav
В Студии меню View -> Property Manager.

Там нужно выбрать текущий режим запуска и в результате выходим на
Проект - ПКМ (правая кнопа мыши) - Properties - C++ - Preprocessor - Definition
Далее?
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961285
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
petrav,
типа
<Скриншот>

У тебя itkvnl-<бла-бла-бла>.obj собран в Дебаг, а Source.obj собран в Релиз. И ты их пытаешься слинковать. Что-то накосячено в проекте.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961287
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav,
далее там. Второй день ошибка.
22138471
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961290
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp, ты закинь этот макет в github и мы быстрее пофиксим.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961294
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
PetroNotC Sharp, ты закинь этот макет в github и мы быстрее пофиксим.

это на второй день без решения)). Всё по плану.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961324
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хммм....
Интересная либа есть в qRPC
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
/*	$NetBSD: getaddrinfo.c,v 1.82 2006/03/25 12:09:40 rpaulo Exp $	*/
/*	$KAME: getaddrinfo.c,v 1.29 2000/08/31 17:26:57 itojun Exp $	*/
/*
 * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 3. Neither the name of the project nor the names of its contributors
 *    may be used to endorse or promote products derived from this software
 *    without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 *
 */

/*
 * This is an adaptation of Android's implementation of RFC 6724
 * (in Android's getaddrinfo.c). It has some cosmetic differences
 * from Android's getaddrinfo.c, but Android's getaddrinfo.c was
 * used as a guide or example of a way to implement the RFC 6724 spec when
 * this was written.
 */

#include "address_sorting_internal.h"

#include <errno.h>
#include <inttypes.h>
#include <limits.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>

// Scope values increase with increase in scope.
static const int kIPv6AddrScopeLinkLocal = 1;
static const int kIPv6AddrScopeSiteLocal = 2;
static const int kIPv6AddrScopeGlobal = 3;

static address_sorting_source_addr_factory* g_current_source_addr_factory =
    NULL;

static bool address_sorting_get_source_addr(const address_sorting_address* dest,
                                            address_sorting_address* source) {
  return g_current_source_addr_factory->vtable->get_source_addr(
      g_current_source_addr_factory, dest, source);
}
 


для того чтобы отправлять сообщения не по IP а по именам компа в сети:
address_sorting
Android's implementation of RFC 6724
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961329
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И что здесь интересного?
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961333
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
методы вызывать можно не по IP. Доп функционал.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961334
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
mayton,
методы вызывать можно не по IP. Доп функционал.

А что ты такого пишешь что тебе нужна библиотека ITK ? Просто интересно.
...
Рейтинг: 0 / 0
Что выбрать для межпроцессного взаимодействия модулей приложений?
    #39961335
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да так себе. Если это - коробочный DNS - так это должно работать всегда
в любой нормальной сети. У меня вот в домашней я только осилил
поддерживать /etc/hosts.
...
Рейтинг: 0 / 0
145 сообщений из 145, показаны все 6 страниц
Форумы / C++ [игнор отключен] [закрыт для гостей] / Что выбрать для межпроцессного взаимодействия модулей приложений?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]