推式请求的要求取决于 MobiLink 服务器与设备通信所使用的方法。所有推式请求都要求有主题列和内容列。如果使用轻量级轮询器轮询推式通知,则需要创建轮询键列来标识它们。如果使用网关发送推式通知,则需要创建网关列和地址列。
如果系统中已存在推式请求列,则不需要再创建。满足推式请求要求后,便可以使用推式请求。请参见使用推式请求。
使用轻量级轮询器轮询推式通知时必须创建以下列:
列 |
类型 |
说明 |
---|---|---|
轮询键 |
VARCHAR |
用于标识轻量级轮询器的键。每个轻量级轮询器都发送一个唯一键,用于在 MobiLink 服务器上标识自己。 |
主题 |
VARCHAR |
消息的主题行。 |
内容 |
VARCHAR |
消息的内容。 |
除非另有规定,否则使用网关发送推式通知时必须创建以下列:
列 |
类型 |
说明 |
---|---|---|
请求 ID |
INTEGER |
可选。推式请求的唯一 ID。 某些通告程序事件需要此列名称。请参见通告程序事件。 |
网关 |
VARCHAR |
作为消息发送目的地的网关的名称。 |
主题 |
VARCHAR |
消息的主题行。 |
内容 |
VARCHAR |
消息的内容。 |
地址 |
VARCHAR |
设备的目标地址。 |
重发间隔 |
VARCHAR |
可选。消息重发之间的时间间隔。 在不可靠的网络上使用 UDP 网关时,重发间隔很有用。通告程序假定,与推式请求关联的所有属性都不变;第一次轮询请求后将忽略后续更新。如果推式通知必须在下一次轮询时间前发送,则通告程序会自动调整下一次轮询间隔。可以使用 request_cursor 事件中的同步逻辑阻止发送推式请求。来自目标监听器的传送确认可能会阻止随后的重发。请参见request_cursor 事件。 |
生存期 |
VARCHAR |
可选。距重发到期的时间。 |
以下示例通过在 SQL Anywhere 统一数据库表中创建必需的列来满足使用轻量级轮询的推式请求要求:
CREATE TABLE PushRequest ( req_id INTEGER DEFAULT AUTOINCREMENT PRIMARY KEY, poll_key VARCHAR(128), subject VARCHAR(128), content VARCHAR(128) ) |
您只需创建此表或类似项,前提是推式请求列在其它地方不存在。这些列可跨多个表存在,可存在于现有表中,也可存在于视图中。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |