日期:2014-05-18  浏览次数:20641 次

远程网络函数调用怎么实现,最方便,最可靠?
现在的企业管理软件基本上都是网络程序了,大部分应该是网页式的,其他的是客户机服务器的。
现在就考虑一下,客户机和服务器的,多个客户端程序调用服务器功能的时候,调用函数怎么写?

一般都是用Send , Recv 函数解决, 我认为这样赤裸裸的写发送和接收有如下问题,一是比较繁琐,调用函数量会比较大,每个这样写工作量很大,二是可靠度不怎么高,缓冲区内数据即使错了一位,也可能导致整个程序崩溃,或者数据一致性严重错误。
com+,是实现这些功能的,但是com+配置起来复杂,不实用。

不知道网上兄弟们怎么解决这类问题的,如果谁有实例就最好了,讲讲原理也行。


------解决方案--------------------
通信必定有发有收。避免不了,通常可以抽象出同用接口。更多的是使用高效的开源组建或者项目
------解决方案--------------------
基于HTTP的WebService
JAVA本身的RMI
基于TCP通信的MINA2
------解决方案--------------------
引用:
基于HTTP的WebService
JAVA本身的RMI
基于TCP通信的MINA2

同意
------解决方案--------------------
来学习了。。
------解决方案--------------------
就是2楼说的,WebService或者RMI
------解决方案--------------------
JAVA补充个JMS吧,可以异步的,不过这玩意也挺操蛋的,能不用别用
------解决方案--------------------
引用:
基于HTTP的WebService
JAVA本身的RMI
基于TCP通信的MINA2
  还有RPC
------解决方案--------------------
如果是 JavaEE 的项目,推荐使用 WebService 技术。基于HTTP和SOAP协议的消息传递和远程方法调用。
如果是 JavaEE 的项目,处理的数据量比较大,可以采用异步消息处理机制。JMS、消息中间件是个不错的选择。
如果是 C/S 架构的项目,推荐 RMI 吧,实现起来不是很复杂。如果不行,Spring里面也有一个RMI功能的组件,那个用起来比这个方便点,前提是你得会用Spring。
如果是 Java 和 C 程序之间的调用,简单功能的用 TCP 可能会好些。
如果是 Java 和 .net 程序之间的调用,推荐使用 WebService 技术,当然,要注意协议的兼容问题。