远程网络函数调用怎么实现,最方便,最可靠?

findcsdn 2014-04-23 12:22:48
现在的企业管理软件基本上都是网络程序了,大部分应该是网页式的,其他的是客户机服务器的。
现在就考虑一下,客户机和服务器的,多个客户端程序调用服务器功能的时候,调用函数怎么写?

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

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

...全文
552 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
grapepaul 2014-04-28
  • 打赏
  • 举报
回复
JAVA补充个JMS吧,可以异步的,不过这玩意也挺操蛋的,能不用别用
冰思雨 2014-04-28
  • 打赏
  • 举报
回复
如果是 JavaEE 的项目,推荐使用 WebService 技术。基于HTTP和SOAP协议的消息传递和远程方法调用。 如果是 JavaEE 的项目,处理的数据量比较大,可以采用异步消息处理机制。JMS、消息中间件是个不错的选择。 如果是 C/S 架构的项目,推荐 RMI 吧,实现起来不是很复杂。如果不行,Spring里面也有一个RMI功能的组件,那个用起来比这个方便点,前提是你得会用Spring。 如果是 Java 和 C 程序之间的调用,简单功能的用 TCP 可能会好些。 如果是 Java 和 .net 程序之间的调用,推荐使用 WebService 技术,当然,要注意协议的兼容问题。
keke8247 2014-04-28
  • 打赏
  • 举报
回复
引用 3 楼 beiouwolf 的回复:
基于HTTP的WebService JAVA本身的RMI 基于TCP通信的MINA2
还有RPC
findcsdn 2014-04-26
  • 打赏
  • 举报
回复
客户端如果一开始就和服务器建立一个TCP连接,客户端每次远程调用都依赖这个连接,只要其中一次调用出现意外,那么整个程序都会阻塞或者错误累积崩溃,这种方法应该不适合整天连续工作的电脑客户端使用。 1. 使用Http的方式调用是可行的,每次调用都发起一个连接,即使出现什么意外,断开连接后,就会自动恢复。 2. RMI不知道是使用的什么原理实现的。 3. QQ使用的UDP通讯协议,自己在上层实现一些可靠性就行,我看这种方法也挺好,不知道实际使用中,应用多不多。 4. TCP的实际应用,比如FTP, SMTP,POP3等都是传输完立刻拆掉连接,下次用下次再建立连接,似乎只使用时间很短的场合。
beiouwolf 2014-04-24
  • 打赏
  • 举报
回复
基于HTTP的WebService JAVA本身的RMI 基于TCP通信的MINA2
teemai 2014-04-24
  • 打赏
  • 举报
回复
通信必定有发有收。避免不了,通常可以抽象出同用接口。更多的是使用高效的开源组建或者项目
小灯光环 2014-04-24
  • 打赏
  • 举报
回复
就是2楼说的,WebService或者RMI
tony4geek 2014-04-24
  • 打赏
  • 举报
回复
来学习了。。
  • 打赏
  • 举报
回复
引用 3 楼 beiouwolf 的回复:
基于HTTP的WebService JAVA本身的RMI 基于TCP通信的MINA2
同意

67,549

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧