我有一个C++/Qt应用程序。我想用Java谈谈它。 我知道我可以创建TCP服务器/客户端。我还有什么其他选择?从外部发送消息给C++/Qt应用程序?
问题是我在应用程序内部创建了TCP服务器,它不起作用。但在独立模式下运行时可以正常工作。所以寻找C++和Java之间的替代方法。
我有一个C++/Qt应用程序。我想用Java谈谈它。 我知道我可以创建TCP服务器/客户端。我还有什么其他选择?从外部发送消息给C++/Qt应用程序?
问题是我在应用程序内部创建了TCP服务器,它不起作用。但在独立模式下运行时可以正常工作。所以寻找C++和Java之间的替代方法。
我有一个C++/Qt应用程序。我想用Java谈谈它。我知道我 可以创建TCP服务器/客户端。我还有什么其他选择?
基本上,你要找的是两种语言正确支持的IPC。你可以在那里找到几种解决方案:
Java and C++ socket communication.。显然,QtNetwork和那里的套接字类可能是你在Qt方面的朋友。
http://www.velocityreviews.com/forums/t279534-communication-between-a-c-and-java-program.html
Java Native Interface。您可以从Java调用C/C++方法,反之亦然,但这可能是最慢的解决方案之一。
Shared Memory (SHM)(这里,QSharedMemory可以帮助你在Qt端)。
乌思(在这里,QtDbus可以在Qt的侧面帮助你)。然而,这不一定是跨平台的解决方案。
我个人建议使用基于原始套接字的低级解决方案与Qt API。在我看来,这是最可靠的,并且是经过验证的技术。在java端有Qt风格的API有Qt Jambi,当然在C++中,你会得到QtNetwork API。这至少会为您在整个项目中提供一致性。