Java与C++通信的问题

有一套信息系统,采用的B/S结构,主要是利用浏览器对数据库做一些增删改查的操作。用Struts+ibatis开发的,服务器用的Tomcat,数据库是MySQL。
现在又一个新的需求,该系统需要通过网络与远端的一个C++模块进行通信,通过指定好的通信协议,从该C++模块获取数据然后通过浏览器显示在页面上,最后,将数据配置好后再发给C++模块。
请问这个需求要怎么实现,Tomcat怎么与远端C++进行通信?
不需要具体实现,只要讲清楚思路,需要用到哪些技术,越详细越好,讲的好有加分,谢谢了!!!!!!
如果采用XML做中转,那还不如直接操作数据库了,现在的需求是要实时性,数据修改后要立即通知远端C++模块,并且发送过去,C++已经打开了端口,可以实施接收数据。。
我关注的焦点就是Tomcat如何与C++进行通信,请把这块的问题说详细些
JMS或者web service 具体要怎么实现,能说的详细点吗
如果采用Socket,那怎样将socket获得的数据显示在浏览器页面上呢,采用JavaScript吗。。
如果只是用Socket得到数据不难,关键是现在要怎么样显示在浏览器页面上给用户看,并且修改后,再发还给Socket。如果使用标准输出out.print怎么样在页面上显示?

我觉得可以用JMS,Tomcat没有JMS,你可以单独运行一个JMS Server,例如ActiveMQ什么的。

JBoss的JMS支持还行。
如果使用JMS,要考虑一下网络环境,对消息的事务性要求等问题。

另外,jms server 推荐activemq,至于使用jms与否和spring没有关系,只是spring提供一些jms的包装类便于使用罢了。如果使用activemq而不使用spring的话可以参考activemq的演示代码。
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-07-23
网络通信是用socket,C++模块会有一个ip地址和端口,你的程序需要通过socket连接到该模块,具体发送数据的格式根据你们之间的通信协议。
我理解你的流程是:
1.用户通过浏览器发送获取数据请求;
2.tomcat得到请求后通过socket发送命令去C++模块获取信息,c++返回数据;
3.tomcat返回给浏览器;
4.用户调整完后,发送更改数据的命令;
5.tomcat得到请求后通过socket发送命令去C++模块更改信息;
6.tomcat将结果返回给浏览器;
流程结束。
有问题可以hi我
第2个回答  推荐于2016-06-21
我们以前这么做的. Socket 传和收数据. 我们是在struts的action里面 开启socket的 然后发送数据 等待返回的数据 然后在显示数据.

至于修改 那也一样的action处理数据 发送数据 等待接收数据.
在进行通信的时候 进制之间的转换 是很常见的 .本回答被提问者采纳
第3个回答  2009-07-24
都说要实时性了,还用jms!那东西类似于短信的,虽然我没用过。
jsp里面有个输出流可以用它
远程服务有rmi还有一个叫什么来着,我有用过,可以考虑一下,不过很麻烦。
c++跟java有个jni的东西,虽然是本地的,不过可以跟c++沟通。知道就这么多了,希望对你有帮助
第4个回答  2009-07-23
用XML做中转,java把数据写到XML里c++读,或C++吧数据写到XML里Java读
相似回答