我爱Aspx >> Asp.Net >> RVP:存在和即时消息传送协议 (3)
RVP:存在和即时消息传送协议 (3)
- :未知 Դ:internet :2007-5-5 19:46:30 ؼ:
- PROPPATCH DAV 方法用来设置节点的属性。对于 RVP,此方法可以用来设置 PRESENCE SERVICE 上 PRINCIPAL 的在线状态,或者设置 RVP 系统保持的其它属性。例如,当一个 PRESENTITY “登录”时,PRESENTITY 向 PRESENTITY 的本地服务器发出一个 PROPPATCH 请求,要求将在线状态属性设置为“在线”。 RVP 引入了租用属性的概念。租用属性值会在一段超时过后自动复位为缺省值。在实现合作者列表的在线状态时可以使用它们。例如,PRESENTITY 的在线状态可以将自身复位为离线状态,除非它被刷新。这在客户机崩溃、网络失败或其它必须将 PRESENTITY 状态复位为离线的情况下有用。 尽管 RVP 实现可能禁止租用特定的属性值,但是所有的 RVP 属性都可以具有租用值。PRESENTITIES 获取和设置租用值的方式与处理常规 DAV 属性的方式相同;由 PRESENCE SERVICE 负责识别和解释租用值并强制执行其行为。如果所请求的超时是 RVP PRESENCE SERVICE 的管理策略所不允许的,则 RVP PRESENCE SERVICE 可能拒绝设置属性值。 XML 架构允许在 PROPPATCH 请求和响应中指定一个视图标识符元素,因为某个节点可能有多个 PRESENTITIES 设置属性(即从多台机器登录的用户)。此规范允许将状态更改复制到所有 PRESENTITIES 中,并且允许某些状态是某个 PRESENTITY 所特有的。例如,如果一个 PRINCIPAL 让多个 PRESENTITIES 登录,则任何状态更改为 "busy"(繁忙) 或 "out to lunch"(出去就餐)将导致所有的 PRESENTITIES 都得到此状态更改的通知。然而,如果某个 PRESENTITY 变为离线的或空闲的,则其它的 PRESENTITY 不会得到此状态更改的通知,并且 PRINCIPAL 在不同的 PRESENTITY 上仍然保持在线。 当 PROPPATCH 请求不包含视图标识符时,一个成功的响应会包含一个。此标识符对租用属性和指定此视图标识符的任何后续 PROPPATCH 请求是唯一的。如果具有该视图标识符的所有租用属性到期,则该标识符不再有效,也不应该使用它。 示例
以下示例将一个 RVP PRESENTITY 的在线状态值设置为在线,时间间隔是一小时。除非该属性随后由 PRESENTITY 复位,否则 PRESENCE SERVICE 会在一小时后将在线值转变回离线。
>>请求: PROPPATCH /instmsg/aliases/deriks HTTP/1.1 Host: im.example.com RVP-Notifications-Version: 0.2 RVP-From-Principal: http://im.example.com/instmsg/aliases/deriks Content-Type: text/xml Content-Length: XXXX <?xml version="1.0"?> <D:propupdate xmlns:D="DAV:" xmlns:Z="http://schemas.microsoft.com/rvp/"> <D:set> <D:prop> <Z:state> <Z:leased-value> <Z:value> <Z:online/> </Z:value> <Z:default-value> <Z:offline/> </Z:default-value> <Z:timeout>3600</Z:timeout> </Z:leased-value> </Z:state> </D:prop> </D:set> </D:propertyupdate> >>响应: HTTP/1.1 207 Multi-Status RVP-Notifications-Version: 0.2 Content-Type: text/xml Content-Length: XXXX <?xml version="1.0"?> <D:multistatus xmlns:D="DAV:" xmlns:Z="http://schemas.microsoft.com/rvp/"> <D:response> <D:href> http://im.example.com/instmsg/aliases/deriks </D:href> <D:propstat> <D:prop> <Z:state> <Z:leased-value> <Z:value> <Z:online/> </Z:value> <Z:default-value> <Z:offline/> </Z:default-value> <D:timeout> 3600 </D:timeout> </Z:leased-value> <Z:view-id>3577</Z:view-id> </Z:state> </D:prop> <D:status>HTTP/1.1 200 OK</D:status> </D:propstat> </D:response> </D:multistatus> 实现的考虑事项
Ҷƪл˵?
- һƪRVP:存在和即时消息传送协议 (4)
һƪRVP:存在和即时消息传送协议 (2)
- 关于我们 | 广告服务 | 网站建设 | 版权申明 | 申请链接 | 联系我们
- Copyright © 2007 5iaspx.COM. All Right Reserved.
- 本站内容仅供学习,研究,探讨,个人收藏,如有侵权,敬请联系我们,我们尽快解决!