SocketConnect
SocketConnect[address]
指定されたアドレスのTCPホストにソケット接続を行い,接続を表すSocketObjectを返す.
SocketConnect[address,"protocol"]
指定されたプロトコルで address のホストに接続する.
SocketConnect[socket]
現行セッションで開かれたローカルソケットに接続する.
詳細
- 使用可能なソケットアドレス
-
{host,port} ホスト名あるいはIPアドレスとポート番号 {host,"service"} ホスト名あるいはIPアドレスとサービス名 "host:port" ホスト名あるいはポートのあるIPアドレス port ローカルソケットローカルホスト:port URL["url"] あるいは "url" 完全なURL(例:http://www.wolfram.com) - サポートされるプロトコル
-
"TCP" 生のTCPストリームプロトコル "ZMQ" ZeroMQ1対1対応メッセージプロトコル {"ZMQ","type"} 指定タイプのZeroMQプトロコル - 以下は,ZMQソケットの可能なタイプである.
-
"Pair" 厳密に1つのクライアントピアと送受信できるソケット "Publish" 接続されているすべてのクライアントにメッセージを送信するソケット "Subscribe" 公開者ソケットからメッセージを受信するソケット "Request" 対応する応答ソケットに要求メッセージを送信し,応答メッセージを受信するソケット "Reply" 対応する"Request"ソケットから要求メッセージを受信し,応答メッセージを送り返すソケット "Dealer" 送信されたメッセージが接続されたすべてのクライアントにラウンドロビン形式で配信されることを除いて,"Request" ソケットと同じ "Router" メッセージが接続されたすべてのクライアントから均等化キューイング形式で受信され,ルーティング情報を維持することを除いて,"Reply"ソケットと同じ "Pull" メッセージを受信するパイプライントポロジーのソケット "Push" メッセージを送信するパイプライントポロジーのソケット "XPublish" "Publish"と同じだが,このソケットで受信したメッセージはサブスクリプションである "XSubscribe" "Subscribe"と同じだが,このソケットを介して送信されたメッセージは,対応する"XPublish"ソケットへのサブスクリプションとして使用される "Stream" ZMQソケットを非ZMQ TCPソケットに接続するためのソケット - ZMQプロトコルタイプが指定されていない場合,もとになるソケットは"Pair"ソケットである.
- ホスト名は"www.wolfram.com"のような形式である.
- IPアドレスは"140.177.0.0"あるいはIPAddress[string]として与えることができる.ただし,string はIPv4またはIPv6のIPアドレスである.
- アドレスがポート番号の指定のないURLとして与えられると,ポート番号は(httpに対してはポート80のように)URLスキームから推定される.
- SocketConnect[SocketObject[…]]を使ってSocketOpenで開かれたローカルソケットに接続することができる.
- Closeを使ってSocketConnectが開いた接続を閉じることができる.
例題
すべて開くすべて閉じる例 (2)
ByteArrayを文字列に変換する:
スコープ (1)
アプリケーション (1)
考えられる問題 (2)
ReadStringはサーバによってソケットが閉じられるのを待ってデータを返すので,ReadStringはTCPソケットにしか使うことができない.ZMQはサーバによって閉じられることはなく,無期限にブロックする.
ReadStringは無期限にブロックするようになった:
SocketOpenが開いたTCPサーバソケットを使うときは,ReadStringが返される前に接続を閉じなければならない.
リモートクライアントにメッセージを書き込み,サーバを閉じる:
ReadStringは,ソケットがまだ閉じられていないので無期限にブロックするようになった:
リモートソケットを閉じるとReadStringが強制的に返される:
テキスト
Wolfram Research (2015), SocketConnect, Wolfram言語関数, https://reference.wolfram.com/language/ref/SocketConnect.html (2017年に更新).
CMS
Wolfram Language. 2015. "SocketConnect." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2017. https://reference.wolfram.com/language/ref/SocketConnect.html.
APA
Wolfram Language. (2015). SocketConnect. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/SocketConnect.html