ChannelListen

ChannelListen[channel]

开始监听指定信道.

ChannelListen[channel,func]

对和信道收到的消息相对应的关联应用 funcl.

ChannelListen[channel,None]

保存信道收到的每条消息,不对其应用任何函数.

ChannelListen[url]

在指定的 URL 上监听,存储收到的消息,而无需在信道代理上存在显式信道.

更多信息和选项

范例

打开所有单元关闭所有单元

基本范例  (2)

生成一个信道并开始监听:

向信道发送消息,从监听器取回消息的内容:

清除监听器,删除信道:

定义一个在消息到达时执行的处理函数:

向信道发送消息使该函数被调用:

消息同时被记录在 ChannelListener 对象中:

清除监听器,删除信道:

范围  (4)

信道规范  (2)

监听由 ChannelObject 定义的信道:

在信道代理服务器上您家区域中的信道上监听,并指定其名称:

监听由其完全限定名称指定的信道:

监听由其完整 URL 指定的信道:

删除信道,这将删除监听器:

监听服务器公共区域中由 URL 指定的信道:

删除信道,这将删除监听器:

处理函数  (2)

检查处理函数收到的参数:

向信道发送消息,输出处理函数收到的关联:

删除信道,这将删除监听器:

收到消息时不要执行任何处理程序函数:

仍然可以检索发送到该信道的消息:

删除信道,这将删除监听器:

选项  (3)

AutoRemove  (1)

启动在收到第一条消息后将自身清除掉的监听器:

监听器处于活动状态:

在发送和处理消息后自动清除监听器:

删除信道:

ChannelHistoryLength  (1)

创建信道监听器,其中 ChannelHistoryLength 设定为 10:

向该信道发送 20 条消息:

仅存储最近收到的 10 条消息:

删除信道,这将删除监听器:

提醒函数  (1)

在监听器中定义一个提醒函数:

当消息被发送和处理后执行该函数:

删除信道,这将删除监听器:

应用  (4)

Email  (1)

在一个桌面进程中,设置一个监听器,读出收到的消息的主题:

生成一个 MailReceiverFunction,将收到的信件转发到你的监听器:

把 email 发送到接收函数,收听监听器的播报:

删除信道,这将删除监听器:

远程评估  (1)

在你的 Wolfram 云账户,或其他远程 Wolfram 系统,设置一个对收到的消息进行评估的监听器,并将结果发送到指定信道:

在本地系统上设置接收信道:

对远程评估器发送一条命令:

访问收到的响应:

验证结果来自不同的机器:

清理:

Wolfram Cloud  (1)

ChannelListen 允许您当前的会话从 Wolfram Cloud 中执行的 APIFunctionFormFunction 和其他函数接收更新:

部署一个网页,执行简单操作,并将结果以及一些元数据发送到监听器:

提交 Web 表单后,监听器将动态更新:

删除信道:

社交媒体  (1)

创建一个 APIFunction,将 HTTP 请求的内容转发到信道:

创建一个 IFTTT 小程序,该程序跟踪 Twitter上对 "Mathematica" 一词的提及,并通过 HTTP 将其发送给 APIFunction

在信道上创建一个监听器:

创建与 Twitter 的服务连接,并发送包含关键字的推文:

列出监听器收到的消息:

删除信道:

属性和关系  (3)

ChannelListen 返回 ChannelListener 对象:

可以对监听器进行查询并获取它的属性:

删除信道,这将删除监听器:

RemoveChannelListener 清除 ChannelListener 对象:

删除信道:

在桌面 Wolfram 系统上,在消息处理程序函数中执行的 Print 的输出定向到 Messages 窗口:

删除信道,这将删除监听器:

可能存在的问题  (1)

为安全起见,缺省情况下你不能监听其他用户的信道:

如果你信得过信道拥有者在你的计算机上执行消息处理函数,那你可以暂时去掉安全设置:

恢复缺省设置:

巧妙范例  (1)

开始监听一个信道,并设置在数据点到达的时候,将他们即时绘制出来:

从当前会话或连接到互联网的任何其他 Wolfram 语言会话发送数据到信道的网址:

设置定期向频道网址发送点的任务:

停止发送数据并删除信道:

Wolfram Research (2016),ChannelListen,Wolfram 语言函数,https://reference.wolfram.com/language/ref/ChannelListen.html (更新于 2020 年).

文本

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 年

BibTeX

@misc{reference.wolfram_2024_channellisten, author="Wolfram Research", title="{ChannelListen}", year="2020", howpublished="\url{https://reference.wolfram.com/language/ref/ChannelListen.html}", note=[Accessed: 22-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_channellisten, organization={Wolfram Research}, title={ChannelListen}, year={2020}, url={https://reference.wolfram.com/language/ref/ChannelListen.html}, note=[Accessed: 22-November-2024 ]}