Main Content

write

TCP/IP を介したリモート ホストへのデータの書き込み

    説明

    write(t,data) は、TCP/IP クライアント t で指定されたリモート ホストに N 次元行列 data を送信し、それを data のデータ型として送信します。指定された値がリモート ホストに書き込まれるまで MATLAB® の実行は一時停止されます。

    write(t,data,datatype) は、データの行列での形式に関係なく、datadatatype で指定された形式で送信します。

    すべて折りたたむ

    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")

    入力引数

    すべて折りたたむ

    TCP/IP クライアント。tcpclient オブジェクトとして指定します。

    例: write(t,data) は、TCP/IP クライアント t に書き込みます。

    数値または ASCII データ。数値の行ベクトル (1 行 N 列) または列ベクトル (N 行 1 列) か、テキストの文字ベクトルまたは string スカラーとして指定します。数値型のすべての datatype について、data は値の行ベクトルです。

    例: write(t,1:5) は、値 [1,2,3,4,5] を書き込みます。

    データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | char | string

    各値のサイズと形式。文字ベクトルまたは string として指定します。datatype は、各値について書き込むバイト数と、MATLAB データ型としてのそれらのバイトの解釈を決定します。

    datatype を指定しない場合、関数は data のデータ型としてデータを送信します。

    例: write(t,1:5,"double") は値 [1,2,3,4,5] を double データとして書き込みます。

    データ型: char | string

    拡張機能

    C/C++ コード生成
    MATLAB® Coder™ を使用して C および C++ コードを生成します。

    バージョン履歴

    R2014b で導入