java与c++通信

我现要做个网站,分2部分。web层和后台服务层,web这块是java来实现,后台服务层是c++。web不能直接访问数据库,要通过c++的一个Serverl来访问(就是web这块只用组合你需要的sql语句,然后发给那个c++端得server,这边在接受他的返回)

现在老大让想想,web和那个c++ server通信的问题,及用户访问量比较大的时候如何处理(并发访问),各位路过的大虾们给小弟指点一下( 小弟积分不多,请各位大侠见谅)

我的想法是要和C++ server通信要用socket 我就在web这块弄个线程连接池,在池中管理这些的线程。启动时开一定数量的线程,当访问量打的时候在建立新的线程,并回收。

4个回答

其实很多方法了 比较常用的就是nio
java一般不会调用c的rpc 所以rpc不需要考虑了 如果需要可以用corba 不过我觉得太复杂
建议使用mq mq可以是异步的 而且mq开发也不是很复杂

现在java不是有nio类库了嘛,异步io来实现嘛,性能上很好的,有现成的框架可用
比如mina,netty之类的

楼上正解!

看楼主的意思,只是Java访问C, 没有看太懂Java和C是在一台机器上还是在两台机器? 还有C能提供什么样的服务(RPC, Socket等)? 如果是在一台机器上(或者在C所在的服务器上可以运行Java)效率最好应该是JNI来与C打交道。NIO(Mina, Netty之类)是Java的框架,写Java服务器时候更有优势, 当然也可以写客户端, 那就是Web与这个NIO客户端进行通信了。其实我觉得用RPC也是一个很好的选择。Socket与RPC等手段,都要定义通信格式(JSON, XML)。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐