TCP/IPソケットからの読み込みや書き込みができるようにします。
該当要素: | 任意の場所 |
カテゴリ: | データアクセス |
制限事項: | SASがロックダウン状態にある場合、FILENAMEステートメントのSOCKETアクセス方式は使用できません。サーバー管理者は、このアクセス方式がロックダウン状態でも使用できるように、同方式を再有効化できます。詳細については、XisError: No pubcode in link data found for lrconを参照してください。 |
有効なファイル参照名を指定します。
ヒント | ファイル参照名と外部ファイルの関連付けは、SASセッション終了まで維持されるか、または他のFILENAMEステートメントで関連付けの変更や関連付けの取り消しを実行するまで維持されます。ファイルに対するファイル参照名は必要に応じて何度でも変更できます。 |
このアクセス方式を指定すると、TCP/IP (Transmission Control Protocol/Internet Protocol)ソケットからの読み込みやTCP/IPソケットへの書き込みを実行できます。
ホスト名またはホストのIPアドレス、および接続先のTCP/IPポート番号を指定します。
ヒント | クライアントからTCP/IPソケットへアクセスする場合は、この引数を指定します。 |
リスン用に作成するポート番号を指定します。
ヒント | サーバーモードには、この引数を指定します。 |
:0と指定すると、システムによってポート番号が選択されます。 |
TCP/IPソケットをリスンソケットに設定します。システムを接続待機中のサーバーとして動作させることができます。
ヒント | このシステムではすべての接続をシリアル形式で受け入れます。この形式では1度に1つの接続のみが有効になります。 |
参照項目 | RECONN=オプション (TCPIPオプション)。 |
サーバー側の接続許可数などオペレーティングシステム固有の詳細情報を指定します。
参照項目 | TCP/IPオプション |
このblocksizeには、ソケットデータバッファのサイズをバイト単位で指定します。
デフォルト | 8192 |
ソケットとの読み込みや書き込みに使用するエンコーディングを指定します。ENCODING=の値は、ソケットのエンコーディングが現在のセッションエンコーディングとは異なることを示しています。
このlreclには、論理レコード長を指定します。
デフォルト | 256 |
操作 | かわりに、XisError: No pubcode in link data found for lesysoptsrefを使用すると、グローバルな論理レコード長を指定できます。SAS 9.4では、グローバルLRECLシステムオプションのデフォルト値は32767です。固定長レコード(RECFM=F)を使用する場合、LRECLのデフォルト値は256になります。 |
このrecfmには、次の3つのレコード形式のいずれかを指定します。
固定長レコード形式です。そのため、LRECLサイズのすべてのレコードには区切り文字となる改行が含まれていません。データはイメージ(バイナリ)モードで転送されます。
操作 | SAS 9.4では、グローバルLRECLシステムオプションのデフォルト値は32767です。固定長レコード(RECFM=F)を使用する場合、LRECLのデフォルト値は256になります。 |
ストリームレコード形式です。
操作 | 読み込むデータ量は、現在のLRECLの値またはINFILEステートメントに指定したNBYTE=変数の値で制御されます。NBYTE=オプションには、読み込まれるデータ量に等しくなる変数を指定します。このデータ量は、LRECLに指定した値に等しいか、それ以下の値にする必要があります。 |
ヒント | データはイメージ(バイナリ)モードで転送されます。 |
参照項目 | INFILEステートメントのNBYTE=オプション。 |
可変長レコード形式(デフォルト設定)です。
ヒント | この形式では、レコードの長さが異なります。また、レコードはテキスト(ストリーム)モードで転送されます。 |
LRECLの値よりも大きいレコードは切り捨てられます。 |
デフォルト | V |
このconn-limitにはサーバー側で許可する最大接続数を指定します。
注 | 有効にできるのは1度に1つの接続だけなので、サーバーで他の接続を許可する前に現在の接続を切断する必要があります。新しい接続が許可されると、EOV=変数が1に設定されます。サーバーはconn-limitに指定された値に達するまで、1度に1つの接続を許可します。 |
このeol-char には、RECFM=Vを指定した場合に使用する改行文字を指定します。次の3つの値を使用できます。
ラインフィード(LF)が後に続くキャリッジリターン(CR)
ラインフィードのみ(デフォルト設定)
NULL文字(0x00)
デフォルト | LF |
制限事項 | このオプションはRECFM=Vを指定した場合にのみ使用します。 |
hp720.unx.sas.com
、一般的なポート番号は5000とします。また、サーバーはソケットを終了する前に最大3つの接続を許可します。
filename local socket ':5000' server reconn=3; /*The server is using a reserved */ /*port number of 5000. */ data tcpip; infile local eov=v; input x $10; if v=1 then do; /* new connection when v=1 */ put 'new connection received'; end; output; run;
filename remote socket 'hp720.unx.sas.com:5000'; data _null_; file remote; do i=1 to 10; put i; end; run;