У меня есть приложение C ++ / Qt. Я хочу поговорить с ним с помощью Java.
Я знаю, что могу создать TCP сервер / клиент. Какие еще варианты у меня есть?
Проблема в том, что я создал TCP-сервер внутри приложения, и он не работает. Но работает нормально, когда работает в автономном режиме. Поэтому ищем альтернативные способы общения между C ++ и Java.
У меня есть приложение C ++ / Qt. Я хочу поговорить с ним с помощью Java. я знаю я
Можно создать TCP сервер / клиент. Какие еще варианты у меня есть?
По сути, вы ищете IPC, который поддерживается обоими языками должным образом. Вы можете найти несколько решений там:
Java и C ++ сокет связи.. Очевидно, что QtNetwork и классы сокетов могут быть вашими друзьями на стороне Qt.
http://www.velocityreviews.com/forums/t279534-communication-between-a-c-and-java-program.html
Родной интерфейс Java. Вы сможете вызывать методы C / C ++ из Java и наоборот, хотя это, вероятно, будет одним из самых медленных решений.
Общая память (SHM) (Вот, QSharedMemory может помочь вам на стороне Qt).
Dbus (Здесь, QtDBus может помочь вам на стороне Qt). Однако это не обязательно кроссплатформенное решение.
Я бы лично предложил использовать низкоуровневое решение на основе сырых сокетов с Qt API. Это самая надежная, на мой взгляд, и проверенная технология позади. Есть Qt Jambi с API стиля Qt для стороны Java, а затем, конечно, в C ++, вы получите API QtNetwork. Это, по крайней мере, обеспечит вам последовательность в проектах.
Других решений пока нет …