Sockets

Sockets[]

返回由当前的 Wolfram 语言会话启动的所有活动的套接口连接.

Sockets[All]

返回与当前会话连接的所有套接口,包括源自当前会话外的远程套接口.

Sockets[spec]

只返回由 spec 指定的套接口.

更多信息

  • SocketObject 构建的形式给出返回的套接口.
  • spec 的可能形式包括:
  • "Remote"源自当前会话外的套接口
    "Local"源自当前会话的套接口
    "Server"SocketOpen 打开的本地套接口
    "Client"SocketConnect 连接的本地套接口
    "TCP"协议为 "TCP" 的套接口
    "ZMQ"协议为 "ZMQ" 的套接口
    {"ZMQ","type"}协议为 "ZMQ_type" 套接口
    All所有本地和远程套接口
  • Close 关闭套接口连接并释放相关资源.
  • 如果套接口是用 SocketOpen 打开的,并且用 SocketConnect 连接到同一个 Wolfram 语言会话,则套接口的两端都将具有一个关联的 SocketObject.

范例

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

基本范例  (1)

打开套接口,显示当前所有活动的套接口:

关闭套接口:

范围  (2)

只查看你的机器上的本地套接口:

关闭套接口:

SocketListen 监听一个套接口,并查看被监听的套接口:

还可以用 SocketListener[] 对象的属性 "Socket" 来查看套接口:

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

可能存在的问题  (1)

在同一会话中,当用 SocketConnect 连接到服务器套接口时,SocketConnect 返回的套接口与服务器套接口的 "ConnectedClients" 属性返回的套接口对象不同.

打开服务器套接口,并将客户端与之相连:

Sockets[] 只显示你打开的连接,因为它们都是本地的:

还有一个用与 Sockets["Remote"] 中可访问的客户端套接口相同的详细信息创建的额外的远程套接口:

远程套接口的 UUID 与 SocketConnect 返回的本地客户端不匹配:

这两个套接口是套接口连接的两端;向其中一个写入将发送消息到另一端:

关闭服务器将断开远程客户端,将其从活动的套接口列表中移除:

关闭客户端:

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

文本

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

CMS

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

APA

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

BibTeX

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

BibLaTeX

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