Main Content

write

TCP/IP를 통해 원격 호스트에 데이터 쓰기

    설명

    예제

    write(t,data)는 N차원 행렬 data를 TCP/IP 클라이언트 t에서 지정한 원격 호스트로 전송하고 이를 data의 데이터형으로 전송합니다. 함수는 지정된 값을 원격 호스트에 쓸 때까지 MATLAB® 실행을 일시 중단합니다.

    write(t,data,datatype)은 데이터 행렬의 형식에 관계없이 datatype에서 지정한 형식으로 data를 전송합니다.

    예제

    모두 축소

    t라는 TCP/IP 클라이언트 연결을 만들고 포트 4000으로 TCP/IP 에코 서버에 연결합니다. 이렇게 하려면 포트 4000에서 실행 중인 echotcpip 서버가 있어야 합니다.

    echotcpip("on",4000)
    t = tcpclient("localhost",4000)
    t = 
      tcpclient with properties:
    
                  Address: 'localhost'
                     Port: 4000
        NumBytesAvailable: 0
    
      Show all properties, functions
    
    

    write 함수는 t에 연결된 원격 호스트에 동기식으로 데이터를 씁니다. 먼저 데이터를 지정한 다음 데이터를 씁니다. 함수는 지정된 개수의 값을 원격 호스트에 쓸 때까지 MATLAB 실행을 일시 중단합니다.

    변수 data에 10바이트의 uint8 데이터를 할당합니다.

    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에 개발됨