ChannelListen
ChannelListen[channel]
开始监听指定信道.
ChannelListen[channel,func]
对和信道收到的消息相对应的关联应用 funcl.
ChannelListen[channel,None]
保存信道收到的每条消息,不对其应用任何函数.
ChannelListen[url]
在指定的 URL 上监听,存储收到的消息,而无需在信道代理上存在显式信道.
更多信息和选项
- ChannelListen[…] 给出 ChannelListener 对象.
- 在 ChannelListen[channel,…] 中,可以用信道对象或在 ChannelObject 中使用的任何形式来指定 channel.
- ChannelListen[channel] 等价于 ChannelListen[channel,Automatic].
- 如果在 ChannelListen[channel,func] 中被指定,func 会覆盖 channel 的 "MessageReceived" 处理函数. 它将和含有以下元素的关联一起被调用:
-
"Message" 消息的内容 "MessageID" 唯一的消息 ID "Timestamp" 消息的服务器时间戳 "RequesterWolframID" 发送者的 Wolfram ID "RequesterWolframUUID" 发送者的 Wolfram UUID "ListenerID" 当前监听器的 ID - 如果消息是字符串、Real、Integer、ByteArray、True、False、Null、Image 或 Image3D,或此类对象的列表或关联,则从字面上给出消息的内容. 所有其他消息都以 HoldComplete[DisableFormatting[expr]]的形式给出,或者以形如 "name"DisableFormatting[val]的延迟规则的列表或关联形式给出.
- 为安全起见,在存取未经运算的消息的内容时要格外小心,比如保留表达式的部分、延迟规则的右手侧,或对字符串消息应用 ToExpression.
- ChannelListen 接受下列选项:
-
AutoRemove False 在收到一条消息后是否移除监听器 ChannelBase $ChannelBase 假定的缺省信道基 ChannelHistoryLength 100 在监听器缓存中存储多少消息 NotificationFunction Inherited 当消息到达时发出的提醒 - 可以用 RemoveChannelListener 移除 ChannelListen 设置的信道监听器.
- 移除信道监听器时将丢弃该监听器缓存的消息.
- 终止 Wolfram 语言进程将清除所有活动的信道监听器.
范例
打开所有单元关闭所有单元基本范例 (2)
消息同时被记录在 ChannelListener 对象中:
范围 (4)
信道规范 (2)
监听由 ChannelObject 定义的信道:
选项 (3)
ChannelHistoryLength (1)
应用 (4)
Email (1)
生成一个 MailReceiverFunction,将收到的信件转发到你的监听器:
远程评估 (1)
Wolfram Cloud (1)
ChannelListen 允许您当前的会话从 Wolfram Cloud 中执行的 APIFunction、FormFunction 和其他函数接收更新:
社交媒体 (1)
创建一个 APIFunction,将 HTTP 请求的内容转发到信道:
创建一个 IFTTT 小程序,该程序跟踪 Twitter上对 "Mathematica" 一词的提及,并通过 HTTP 将其发送给 APIFunction:
属性和关系 (3)
ChannelListen 返回 ChannelListener 对象:
用 RemoveChannelListener 清除 ChannelListener 对象:
在桌面 Wolfram 系统上,在消息处理程序函数中执行的 Print 的输出定向到 Messages 窗口:
文本
Wolfram Research (2016),ChannelListen,Wolfram 语言函数,https://reference.wolfram.com/language/ref/ChannelListen.html (更新于 2020 年).
CMS
Wolfram 语言. 2016. "ChannelListen." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2020. https://reference.wolfram.com/language/ref/ChannelListen.html.
APA
Wolfram 语言. (2016). ChannelListen. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/ChannelListen.html 年