SocketListen

SocketListen[socket,fun]

开始监听指定套接口,在套接口收到数据时异步应用 fun.

SocketListen[port,fun]

开始监听指定端口 127.0.0.1 上的活动连接.

SocketListen[address,fun]

开始监听本机上指定地址 address 的活动连接 (active connection).

SocketListen[spec,opts]

开始监听由 spec 使用选项 opts 定义的活动连接.

SocketListen[spec]

开始监听由 spec 定义的活动连接,但不设置处理函数等.

更多信息和选项

范例

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

基本范例  (1)

监听可用的套接口,以输出事件的关联:

发送一些数据(输出的消息可能会显示在 Messages 窗口中):

删除监听器,关闭套接口:

范围  (2)

监听系统中打开的端口上的 TCP 套接口,输出所有数据:

用网络浏览器连接到套接口:

使用系统浏览器打开 URL 将在 Messages 窗口中显示请求:

停止监听:

产生一对客户端和服务器套接口:

为处理输入数据,把一个 HandlerFunctions 提交到服务器套接口,将信息保存在一个变量中:

当客户端对套接口写入数据时,服务器将显示消息:

查看消息:

修改 HandlerFunctions,把数据显示为字节列表:

停止用该套接口监听事件:

由于监听器不再存在,发送到服务器的消息将不会调用任何 HandlerFunctions

处理函数没有更新 msg 的值:

可以用 SocketReadMessage 从服务器读取消息:

关闭套接口:

选项  (4)

HandlerFunctionsKeys  (1)

HandlerFunctionsKeys 修改为仅使用 "DataByteArray" 作为 ByteArray 的数据:

在开始监听套接口之后改变数值:

显示 HandlerFunctionsKeys 更新后的值:

停止监听,关闭套接口:

HandlerFunctions  (1)

指定在使用 HandlerFunctions"DataReceived" 事件生成的数据上运行的函数:

开始后改变值:

停止监听,关闭套接口:

CharacterEncoding  (1)

监听消息,用不同的编码对字符串键 "Data" 进行编码,并对 "DataBytes" 进行正常编码:

检视消息以查看不同的编码:

停止监听,关闭套接口:

RecordSeparators  (1)

监听一个套接口,用空格分隔消息:

创建客户端,并用该客户端向监听器的套接口发送一条消息:

现在 msgs 的消息字符串将被 RecordSeparators 的值分隔:

停止监听,关闭套接口:

监听一个套接口,用一组字节数分隔消息:

应用  (1)

启动一个网络服务器,发送基本的 HTML 页面作为对所有客户端的响应:

从 Wolfram 语言中导入结果:

在你的系统浏览器中打开网站:

停止监听,关闭套接口:

互动范例  (1)

监听套接口,一收到消息,就对服务器连续写入一个轮转移位的消息:

写出初始消息:

可视化字符串的动态轮转:

停止监听,关闭套接口:

Wolfram Research (2017),SocketListen,Wolfram 语言函数,https://reference.wolfram.com/language/ref/SocketListen.html (更新于 2021 年).

文本

Wolfram Research (2017),SocketListen,Wolfram 语言函数,https://reference.wolfram.com/language/ref/SocketListen.html (更新于 2021 年).

CMS

Wolfram 语言. 2017. "SocketListen." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2021. https://reference.wolfram.com/language/ref/SocketListen.html.

APA

Wolfram 语言. (2017). SocketListen. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/SocketListen.html 年

BibTeX

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

BibLaTeX

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