套接字打开

套接字打开[港口]

打开接受到本地主机的TCP连接的套接字:港口并返回一个套接字对象表示套接字。

套接字打开[地址]

打开接受到指定本地地址的TCP连接的套接字。

套接字打开[地址,"协议"]

打开接受指定协议连接的套接字。

插座打开[地址,{"协议","类型"}]

打开接受指定连接的套接字协议类型.

细节

  • 支持的协议包括:
  • “TCP”原始TCP流协议
    “ZMQ”ZeroMQ一对一消息协议
    {“ZMQ”,"类型"}指定类型的ZeroMQ协议
  • 对于ZMQ套接字,可能的类型包括:
  • “配对”只能与一个客户端对等方发送/接收的套接字
    “发布”向所有连接的客户端发送消息的套接字
    “订阅”从发布者套接字接收消息的套接字
    “请求”套接字,用于将请求消息发送到相应的应答套接字并接收响应消息
    “答复”套接字从相应的“请求”套接字并将响应消息发送回
    “经销商”等同于“请求”套接字(已发送消息除外)以往返方式传递给所有连接的客户端
    “路由器”等同于“答复”套接字除外的消息以公平排队方式从所有连接的客户端接收,并维护路由信息
    “拉动”用于管道拓扑接收消息的套接字
    “推动”用于管道拓扑发送消息的套接字
    “X发布”等同于“发布”,但此套接字上收到的消息是订阅
    “XSubscribe”等同于“订阅”,但是通过该套接字发送的消息被用作对相应套接字的订阅“X发布”插座
    “流”用于将ZMQ套接字连接到非ZMQ TCP套接字的套接字
  • 在没有指定ZMQ协议类型的情况下,底层套接字是{“ZMQ”,“配对”}插座。
  • 套接字打开只打开本地计算机上的套接字。
  • 套接字打开只能使用本地地址。可能的形式包括:
  • {主办,港口}本地主机名或IP地址和端口号
    {主办,"服务"}本地主机名或IP地址和服务名称
    "主机:端口"带有端口的本地主机名或IP地址
    {主办,自动}指定主机上的可用端口
    自动localhost上的可用端口
  • 主机名的格式如下“www.wolfram.com”.
  • IP地址可以指定为"140.177.0.0"IP地址[一串],其中一串是IPv4或IPv6 IP地址。
  • 套接字连接可用于连接到由打开的套接字套接字打开。一台计算机上的套接字已打开这一事实并不能保证另一台计算机可以连接到它。
  • 要建立连接,协议必须一致,并且不能有防火墙等阻止它。
  • 有关如何使用不同ZMQ套接字类型的信息,请参阅ZeroMQ文档.
  • 关闭可用于关闭由打开的连接套接字打开.

示例

全部打开全部关闭

基本示例  (2)

打开一个套接字以允许客户端连接到它:

将客户端连接到它:

关闭插槽:

打开ZMQ套接字:

将客户端连接到服务器:

将消息从客户端写入服务器:

阅读服务器上的消息:

关闭插座:

范围  (3)

客户端连接到打开的TCP套接字后,可以将每个客户端作为套接字对象使用该属性“连接的客户端”.

打开服务器套接字以允许连接,然后将客户端连接到套接字:

从服务器的角度列出客户端套接字:

这些套接字还显示为远程套接字插座:

关闭插槽:

打开指定IP地址上的服务器套接字:

在指定端口上打开服务器套接字:

关闭插槽:

打开类型为的ZMQ插座“推送”,可用于单向消息管道:

使用“拉动”插座类型:

“推送”插座:

阅读上的消息“拉动”插座:

关闭插槽:

应用  (1)

用Wolfram语言实现web服务器套接字打开.

开始侦听TCP端口:

最初没有连接的客户端:

从web浏览器连接到服务器:

现在web浏览器中至少有一个客户端:

向所有客户端编写通用响应:

最后,关闭服务器和与客户端的连接:

可能的问题  (1)

在从返回的套接字上写入插座打开仅适用于ZMQ套接字;对于TCP套接字,必须使用“连接的客户端”属性。

打开TCP和ZMQ套接字并连接客户端:

在TCP套接字上写入失败,因为您必须写入特定的客户端:

相反,直接写入ZMQ套接字可以:

关闭所有插槽:

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

文本

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

CMS公司

沃尔夫拉姆语言。2017年,“SocketOpen”,Wolfram语言与系统文档中心。Wolfram研究。上次修改时间2020年。https://reference.wolfram.com/language/ref/SocketOpen.html。

亚太地区

沃尔夫拉姆语言。(2017). 套接字打开。Wolfram语言与系统文档中心。检索自https://reference.wolfram.com/language/ref/SocketOpen.html

BibTeX公司

@misc{reference.wolfram_2024_socketopen,author=“wolfram Research”,title=“{socketopen}”,year=“2020”,howpublished=“\url{https://reference.wolfram.com/language/ref/socketopen.html}”]}

BibLaTeX公司

@online{reference.wolfram_2024_socketopen,organization={wolfram Research},title={socketopen},year={2020年},url={https://reference.jolfram.com/language/ref/socketopen.html},note=[访问时间:2024年9月21日]}