주요 콘텐츠

이 페이지는 기계 번역을 사용하여 번역되었습니다. 영어 원문을 보려면 여기를 클릭하십시오.

read

TCP/IP 서버로 전송된 데이터 읽기

R2021a 이후

    설명

    data = read(t,count)는 연결된 클라이언트로부터 TCP/IP 서버 t로 전송된 count로 지정된 값의 개수를 읽고, 해당 데이터를 double형 또는 텍스트로 구성된 행 벡터 또는 열 벡터로 반환합니다. 이 함수는 지정된 수의 값을 읽거나 시간 초과가 발생할 때까지 MATLAB® 실행을 일시 중단합니다.

    예제

    data = read(t,count,datatype)count로 지정된 개수의 값을 datatype으로 지정된 형식으로 읽고 데이터를 반환합니다. datatype 인수는 표준 MATLAB 데이터형으로 구성된 문자형 벡터입니다. 숫자형 datatype 유형인 모든 경우에 대해, data는 double형 값으로 구성된 행 벡터입니다. 텍스트 유형 datatype"char" 또는 "string"인 모든 경우에 대해, data는 지정된 유형입니다.

    예제

    예제

    모두 축소

    지정된 포트와 IP 주소에서 클라이언트 연결 요청을 수신 대기하는 TCP/IP 서버를 만듭니다. 그런 다음, 연결된 클라이언트로부터 서버로 전송된 데이터를 읽습니다.

    localhost 및 포트 4000에서 연결을 수신 대기하는 TCP/IP 서버를 만듭니다.

    server = tcpserver("localhost",4000)
    server = 
      TCPServer with properties:
    
            ServerAddress: "127.0.0.1"
               ServerPort: 4000
                Connected: 0
            ClientAddress: ""
               ClientPort: []
        NumBytesAvailable: 0
    
      Show all properties, functions
    
    

    tcpclient를 사용하여 서버 객체에 연결하는 TCP/IP 클라이언트를 만듭니다. server를 만드는 데 사용한 것과 동일한 IP 주소와 포트 번호를 지정해야 합니다.

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

    serverConnected, ClientAddress, 및 ClientPort 속성 값을 표시합니다.

    server
    server = 
      TCPServer with properties:
    
            ServerAddress: "127.0.0.1"
               ServerPort: 4000
                Connected: 1
            ClientAddress: "127.0.0.1"
               ClientPort: 59357
        NumBytesAvailable: 0
    
      Show all properties, functions
    
    

    출력은 serverclient의 요청을 성공적으로 수락하고 clientserver에 연결을 설정했음을 보여줍니다.

    TCP/IP 클라이언트에 데이터를 씁니다. 클라이언트가 서버에 연결되어 있으므로 이 데이터는 서버에서 사용할 수 있습니다. server 객체를 사용하여 데이터를 읽으십시오.

    write(client,[4,8,15,16,23,42],"uint8")
    read(server,server.NumBytesAvailable)
    ans = 1×6
    
         4     8    15    16    23    42
    
    

    지정된 포트와 IP 주소에서 클라이언트 연결 요청을 수신 대기하는 TCP/IP 서버를 만듭니다. 그런 다음 연결된 클라이언트에서 서버로 전송된 데이터를 읽습니다.

    localhost 및 포트 4000에서 연결을 수신 대기하는 TCP/IP 서버를 만듭니다.

    server = tcpserver("localhost",4000)
    server = 
      TCPServer with properties:
    
            ServerAddress: "127.0.0.1"
               ServerPort: 4000
                Connected: 0
            ClientAddress: ""
               ClientPort: []
        NumBytesAvailable: 0
    
      Show all properties, functions
    
    

    tcpclient를 사용하여 서버 객체에 연결하는 TCP/IP 클라이언트를 만듭니다. server를 만드는 데 사용한 것과 동일한 IP 주소와 포트 번호를 지정해야 합니다.

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

    serverConnected, ClientAddress, 및 ClientPort 속성 값을 표시합니다.

    server
    server = 
      TCPServer with properties:
    
            ServerAddress: "127.0.0.1"
               ServerPort: 4000
                Connected: 1
            ClientAddress: "127.0.0.1"
               ClientPort: 65440
        NumBytesAvailable: 0
    
      Show all properties, functions
    
    

    출력은 serverclient의 요청을 성공적으로 수락하고 clientserver에 연결을 설정했음을 보여줍니다.

    TCP/IP 클라이언트에 데이터를 씁니다. 클라이언트가 서버에 연결되어 있으므로 이 데이터는 서버에서 사용할 수 있습니다. server 객체를 사용하여 문자열 데이터의 처음 5개 값을 읽습니다.

    write(client,"helloworld","string")
    read(server,5,"string")
    ans = 
    "hello"
    

    5개의 값을 더 읽으면 나머지 문자열 데이터를 받게 됩니다.

    read(server,5,"string")
    ans = 
    "world"
    

    입력 인수

    모두 축소

    TCP/IP 서버, tcpserver 객체로 지정됨.

    예: read(t,5)는 연결된 클라이언트로부터 TCP/IP 서버 t로 전송된 데이터를 읽습니다.

    읽어 들일 값의 개수로, 양의 정수 값으로 지정됩니다. counttNumBytesAvailable 속성보다 큰 경우, 함수는 MATLAB 실행을 중단하고 지정된 양의 데이터를 읽거나 시간 초과가 발생할 때까지 기다립니다.

    예: read(device,2)uint8형 데이터의 값 2개를 읽어옵니다.

    데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

    각 값의 크기와 형식으로, 문자형 벡터 또는 string형으로 지정됩니다. datatype은 각 값에 대해 읽어 들일 바이트 수와 해당 바이트에 대한 해석을 MATLAB 데이터형으로 결정합니다.

    예: read(t,1,"uint16")uint16형 데이터의 값 한 개를 읽어옵니다. 각 uint16 값은 2바이트입니다.

    데이터형: char | string

    버전 내역

    R2021a에 개발됨

    참고 항목

    | |