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で開かれたソケットが,同じWolfram言語セッション内でSocketConnectによって接続された場合,そのソケットの両端は関連するSocketObjectオブジェクトを持つ.

例題

すべて開くすべて閉じる

  (1)

ソケットを開き,現在アクティブな全ソケットを表示する:

ソケットを閉じる:

スコープ  (2)

使用中のマシン上のローカルソケットだけを見る:

ソケットを閉じる:

SocketListenを使ってソケット上で受信し,受信されているソケットを見る:

ソケットはSocketListener[]オブジェクト上の特性"Socket"で見ることもできる:

ソケットを閉じてリスナを削除する:

考えられる問題  (1)

SocketConnectで同じセッションにサーバソケットを接続するときは,SocketConnectが返すソケットはサーバソケットの"ConnectedClients"特性が返すソケットオブジェクトとは異なる.

サーバソケットを開き,クライアントをこれに接続する:

Sockets[]は,どちらもローカルなので,ユーザが開いた接続だけを表示する:

Sockets["Remote"]内でアクセス可能なクライアントソケットと同じ詳細で開かれた,追加的なリモートのソケットもある:

リモートクライアントのUUIDは,SocketConnectが返すローカルクライアントとは一致しない:

この2つのソケットはソケット接続の両端である.どちらか一方に書き込むともう一方にメッセージが送られる:

サーバを閉じるとリモートクライアントの接続が解除され,リモートクライアントはアクティブなソケットのリストから除かれる:

クライアントを閉じる:

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 Language. 2017. "Sockets." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2020. https://reference.wolfram.com/language/ref/Sockets.html.

APA

Wolfram Language. (2017). Sockets. Wolfram Language & System Documentation Center. Retrieved from 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 ]}