You are here

LabVIEW 라이브러리

네임서버 구현(TCP)

 

예제 설명

 

Named Service TCP Server VI 예제는 네임 서버를 구현하는 예제입니다. 클라이언트가 서버에 접속하면, 네임 서버는 일련의 문자열을 전송하고 연결을 종료합니다. VI 는 정지 버튼을 눌러 종료할 수 있습니다. Client VI, Sever VI 가 따로 제공 됩니다.

다운로드 안내

LabVIEW > 예제 찾기 > 네트워킹 > TCP & UDP > Named Service TCP Server.vi , Named Service TCP Client.vi

 파일 다운로드 하기

직접 다운로드 예제는 LabVIEW 8.5(한글판) 이상의 버전에서 열립니다. 이전 버전의 사용자 분들은 상단에 표기된 예제 찾기를 이용하시면 LabVIEW에서 실행하실 수 있습니다. (단, LabVIEW 8.5 이상에서 추가된 새로운 기능은 LabVIEW 평가판 다운로드를 통해 확인)

     


    프런트 패널

     


                            그림 1. Named Service TCP Sever 프런트 패널


                              그림 2. Named Service TCP Client 프런트 패널
     

    실행방법

    1. Named Service TCP Sever.vi 와 Named Service TCP Client.vi 를 모두 엽니다.
    2. Named Service TCP Sever.vi 를 먼저 실행시킵니다.
    3. Named Service TCP Client.vi 를 두 번째로 실행시킵니다.
    4. Named Service TCP Client.vi 에 나타나는 텍스트를 확인합니다.

     

     

    블록다이어그램

     


                              그림 3. Named Service TCP Sever 블록다이어그램

     


                              그림 4. Named Service TCP Client 블록다이어그램

     

    1. 그림3의 [TCP 리스너 생성] vi 는 TCP 네트워크 연결을 위한 리스너를 생성합니다. OS가 유효하다고 결정한 사용 가능한 TCP 포트를 동적으로 선택하려면 포트 입력에 0을 연결 하십시오. 이렇게 생성된 리스너는 NI Service Locator 에 의해 관리됩니다. NI Service Locator는 등록된 서비스를 저장하고 서비스를 요청하는 클라이언트에 데이터를 반환합니다. 클라이언트는 그림 4와 같이 [TCP 연결 열기] vi 를 통하여 서비스 이름을 사용하여 NI Service Locator를 쿼리하고 해당 서비스 이름과 연결된 포트 번호를 얻을 수 있습니다. 그렇기 때문에, 클라이언트는 서버 어플리케이션의 포트 번호를 알 필요가 없습니다. NI Service Locator는 배경 서비스로 실행되며 사용자와의 상호작용은 필요하지 않습니다.
    2. [TCP 리스너 기다림] vi는 TCP 네트워크 연결이 받아들여지기를 기다립니다.
    3. [TCP 읽기] vi 는 TCP 네트워크 연결에서 복수의 바이트를 읽고, 결과를 데이터 출력으로 반환합니다. 다음 그림과 같이 “모드” 부분에 입력이 없으면 기본값인 Standard 모드로 읽습니다. Standard 모드에서는 읽을 바이트에서 지정한 모든 바이트가 도착할 때까지 또는 타임아웃 ms가 발생할 때까지 기다립니다. 요청한 바이트 수보다 적은 바이트가 도착하는 경우, 바이트의 부분 개수를 반환하고 타임아웃 에러를 반환합니다.
    4. [TCP 쓰기] vi 는 TCP 네트워크 연결에 데이터를 씁니다. [TCP 리스너 생성] 에서 반환한 포트 번호를 문자열로 변환하여 Client에 전달하고 있습니다.
    5. 문자열이 수신되면 TCP연결을 닫습니다.
    6. 정지 버튼이 눌러지면 TCP 연결을 닫습니다.
    7. 타임아웃에 의한 에러를 경고로 낮추어 보고 합니다.