SocketReadMessage

SocketReadMessage[socket]

指定されたソケット上の次に読込み可能なメッセージを読み,バイト配列として返す.

詳細とオプション

  • ソケットはSocketObject[]として指定される.
  • ZMQソケットについては,SocketReadMessageはソケットに送られた次の離散的なメッセージを返す.ずべてのマルチパート要素を繋ぎ合せて1つのByteArrayにして返す.
  • TCPソケットについては,SocketReadMessageは現行のオペレーティングシステムのバッファにあるデータのByteArrayを返す.

例題

すべて開くすべて閉じる

  (2)

ZMQソケットを開き,クライアントを接続する:

片方でメッセージを書くと,このメッセージがByteArrayとしてもう片方に送られる:

ByteArrayToStringでこれを文字列に変換する:

ソケットを閉じる:

TCPソケットについては,SocketReadMessageが返すメッセージのサイズは確定的ではなく,オペレーティングシステムによって制御される:

サーバからクライアントへ大きいメッセージを書く:

読み出せるデータが無くなるまでソケットからメッセージを読む:

個別のバッファを加算するとソケットで送られたメッセージ全体になることを確認する:

ソケットを閉じる:

スコープ  (1)

ZMQソケットでは,WriteStringに送られたすべての式について単一のメッセージが送信される:

式はWriteで書いてReadで読み出すことができる.送られた各個別メッセージは完全な式として読み出すことができる:

式は,ソケット上に,デフォルトで,InputFormの文字列として書かれる:

Writeで式を書くと,追加的に新規行のメッセージが表示される:

アプリケーション  (1)

ソケットに送られた全データを削除するフラッシュ関数を定義する:

これで読み出し可能なメッセージがソケット上にできた:

全メッセージをフラッシュし,新たなメッセージを読む:

読み出せるデータがなくなった.新たなデータを送信されると,それが最初に出る:

ソケットを閉じる:

おもしろい例題  (1)

TCPソケット接続を開く:

Webブラウザを接続し,ブラウザからソケットに書き込まれたHTTPリクエストを見る:

まだHTTP応答を送っていないので,ブラウザウィンドウには何も表示されていない.

接続されたクラアントを見る(ブラウザによっては複数あるかもしれない):

準備ができた任意のソケットからリクエストを読む:

クライアントへの接続を閉じる:

開いたブラウザウィンドウを閉じる.

Wolfram Research (2017), SocketReadMessage, Wolfram言語関数, https://reference.wolfram.com/language/ref/SocketReadMessage.html.

テキスト

Wolfram Research (2017), SocketReadMessage, Wolfram言語関数, https://reference.wolfram.com/language/ref/SocketReadMessage.html.

CMS

Wolfram Language. 2017. "SocketReadMessage." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/SocketReadMessage.html.

APA

Wolfram Language. (2017). SocketReadMessage. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/SocketReadMessage.html

BibTeX

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

BibLaTeX

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