Chinaunix首页 | 论坛 | 博客
  • 博客访问: 18237
  • 博文数量: 8
  • 博客积分: 370
  • 博客等级: 一等列兵
  • 技术积分: 95
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-22 16:14
文章分类

全部博文(8)

文章存档

2008年(8)

我的朋友
最近访客

分类: Java

2008-11-14 11:07:00

   要注意:为什么我们在调用web服务或者其他应用服务的时候,推荐使用agent来做代理。这个问题是否明白是解决多agent之间交互的关键。
   要知道,agent之间的通信采用异步信息传输机制。这一点十分重要。比如,你所接收不同消息模板的消息可能会在不同的时间到达,并不一定是先发送的消息先接收到。又比如,你声明了一个AID的数组,用于存放所搜索到的能提供不同服务的agent的AID身份。然而,这样做,你就无法准确定位你获取的服务agent是在数组中的哪一个位置。因为你利用DF进行搜索的过程中,并不一定先来搜索的服务就会放在数组的首地址中,因为可能这个服务暂时没有被搜索到,而把另外一个容易发现的服务agent先搜索到了。这就是不用数组的原因。但我们可以考虑利用键值对的集合定义,来确保不同搜索结果存放的是不同的agent。也就是,不能用索引来定位agent的地址。
   总之,一句话:agent的通信采用异步通信。
阅读(487) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~