read
TCP/IP を介したリモート ホストからのデータの読み取り
説明
は、読み取り可能なすべての数値または ASCII データを TCP/IP クライアント data
= read(t
)t
で指定されたリモート ホストから読み取り、データを double の行ベクトルまたは列ベクトル、またはテキストとして返します。読み取られる値の数は t
の NumBytesAvailable
プロパティで指定されます。この関数は、指定された数の値が読み取られるかタイムアウトが発生するまで、MATLAB® の実行を一時停止します。
例
リモート ホストからの uint8 データの読み取りと書き込み
t
という TCP/IP クライアント接続を作成します。TCP/IP エコー サーバーにポート 4000 で接続します。そのためには、echotcpip
サーバーをポート 4000 で実行していなければなりません。
echotcpip("on",4000) t = tcpclient("localhost",4000)
t = tcpclient with properties: Address: 'localhost' Port: 4000 NumBytesAvailable: 0 Show all properties, functions
関数 write
は、t
に接続されたリモート ホストにデータを同期的に書き込みます。まずデータを指定し、次にデータを書き込みます。指定された数の値がリモート ホストに書き込まれるまで、MATLAB の実行は一時停止されます。
10 バイトの uint8
データを変数 data
に割り当てます。
data = uint8(1:10)
data = 1×10 uint8 row vector
1 2 3 4 5 6 7 8 9 10
データを表示します。
whos data
Name Size Bytes Class Attributes data 1x10 10 uint8
エコー サーバーにデータを書き込みます。
write(t,data)
NumBytesAvailable
プロパティを表示して、書き込み操作が正常に行われたことを確認します。
t.NumBytesAvailable
ans = 10
クライアントはエコー サーバーに接続しているため、サーバーに書き込むデータはクライアントに返されます。読み取り可能なすべてのバイトを読み取ります。
read(t)
ans = 1×10 uint8 row vector
1 2 3 4 5 6 7 8 9 10
関数 read
を引数なしで使用すると、リモート ホストに接続している t
から読み取り可能なすべてのバイトが読み取られ、そのデータが返されます。読み取られる値の数は NumBytesAvailable
プロパティで決まり、入力バッファーで利用可能なバイト数となります。
オブジェクトをクリアして、TCP/IP クライアントとリモート ホストの接続を閉じます。echotcpip
サーバーをオフにします。
clear t echotcpip("off")
リモート ホストから読み取るサイズとデータを指定
t
という TCP/IP クライアント接続を作成します。TCP/IP エコー サーバーにポート 4000 で接続します。そのためには、echotcpip
サーバーをポート 4000 で実行していなければなりません。
echotcpip("on",4000) t = tcpclient("localhost",4000)
t = tcpclient with properties: Address: 'localhost' Port: 4000 NumBytesAvailable: 0 Show all properties, functions
関数 write
は、t
に接続されたリモート ホストにデータを同期的に書き込みます。まずデータを指定し、次にデータを書き込みます。この関数は、指定された数の値がリモート ホストに書き込まれるまで待機します。
10 バイトのデータを変数 data
に代入します。
data = (1:10)
data = 1×10
1 2 3 4 5 6 7 8 9 10
データを表示します。
whos data
Name Size Bytes Class Attributes data 1x10 80 double
エコー サーバーにデータを書き込みます。
write(t,data)
NumBytesAvailable
プロパティを表示して、書き込み操作が正常に行われたことを確認します。
t.NumBytesAvailable
ans = 80
読み込みまたは書き込み操作では、データ転送のためにデータ型が uint8
に変換されます。転送後、データ型は指定された datatype
に戻ります。1 つの double
は 8 個の uint8
バイトと同じであり、80 バイトを利用できます。
クライアントはエコー サーバーに接続しているため、サーバーに書き込むデータはクライアントに返されます。サーバーから 10 個の倍精度値を読み取ります。最初の引数には必ずオブジェクト名を指定します。size
は 2 番目の引数、datatype
は 3 番目の引数として指定しなければなりません。
read(t,10,"double")
ans = 1×10
1 2 3 4 5 6 7 8 9 10
オブジェクトをクリアして、TCP/IP クライアントとリモート ホストの接続を閉じます。echotcpip
サーバーをオフにします。
clear t echotcpip("off")
入力引数
t
— TCP/IP クライアント
tcpclient
オブジェクト
TCP/IP クライアント。tcpclient
オブジェクトとして指定します。
例: read(t)
は、TCP/IP クライアント t
から読み取り可能なすべてのデータを読み取ります。
count
— 読み取る値の数
数値
読み取る値の数。正の整数値として指定されます。count
が t
の NumBytesAvailable
プロパティより大きい場合、関数は MATLAB の実行を一時停止し、指定された量のデータが読み取られるかタイムアウトが発生するまで待機します。
例: read(t,5)
は、uint8
データの 5 つの値を読み取ります。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
datatype
— 各値のサイズと形式
"uint8"
(既定値) | "int8"
| "uint16"
| "int16"
| "uint32"
| "int32"
| "uint64"
| "int64"
| "single"
| "double"
| "char"
| "string"
各値のサイズと形式。文字ベクトルまたは string として指定します。datatype
は、各値について読み取るバイト数と、MATLAB データ型としてのそれらのバイトの解釈を決定します。
例: read(t,10,"double")
は、double データの 10 個の値を読み取ります。
データ型: char
| string
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
バージョン履歴
R2014b で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)