Platform/QT QT TCP/IP Client 프로그램
  • 728x90
    반응형

     

     

     

    QT


     

     

    Qt TCP/IP Client 프로그램

    OS 화경 : Windows 7 Professional K
    IDE : Qt Creator 3.3.0 (opensource)
    Build : Desktop Qt 5.0.2 MinGw 32bit

     

    • TCP/IP 통신 프로그램을 만들기위 한 준비 : XXX.pro 파일에 아래와 같이 network를 추가한다.

     

     

    • XXX.pro 파일에 내용을 추가한 후 Run qmake를 실행시켜 준다.

     

     

    mainwindow.h

     

     

    • 생성자에 사용된 WindowFlags 는 Close Button 외 버튼은 사용하지 않도록 함
    • Resize 마우스 화살표가 발생하지 않도록 고정 사이즈 Dialog 를 사용

     

     

    • void connectBtnSlot(void) : Connect 버튼을 눌렀을 경우 QLineEdit 에서 IP address 를 읽어와 Tcp client class 에 IP address를 저장하고 connectToServer 함수를 호출하여 9000 port에 해당 IP address Server에 연결을 시도한다.

     

     

    • void disconnectBtnSlot(void) : m_coonectState bool 변수를 이용하여 Server 접속 여부를 확인하고, 접속 되었을 경우 연결을 끊어 주고 QTextEdit 에 Close 메시지를 출력한다.

     

     

    • void onConnectServer(void) : QTcpSocket connected() SIGNLA을 이용하여 연결 성공시에 QTextEdit 에 연결 성공 메시지를 출력하고 연결 유부 bool 변수에 상태를 저장한다.

     

     

    • void sendRequst(void) : QTcpSocketwrite 함수를 사용하여 메시지를 전송한다. 단, 문자열로 전송함으로 정수값으로 변환하여 전송하도록 한다. 전송할 데이터가 있을경우 QTextEdit에 전송된 데이터를 출력한다.

     

     

    • void readMessage(void) : QTcpSocketreadAll 함수를 사용하여 데이터를 읽고, 정수를 문자열로 변환하여 QTextEdit에 데이터를 출력한다.

     

     

     

    tcpclient.h

     

    • QTcpSocket 할당.

     

     

    • void coonectToServer(void) : Server 에 연결 시도.

     

     

    • void setIpAddress(QString address) : 접속할 Server IP 저장.

     

     

     

    실행결과 :

     

     

    • 연결 테스트 : COM ANALYZER 2.0 을 이용하여 Server 를 열어두고 실험 하였다.

     

     

     

     

     

    728x90
    반응형

    'Platform > QT' 카테고리의 다른 글

    QT5 MySQL57 Driver 설치  (0) 2017.08.21
    QT Creator Kit Selection 설정  (0) 2016.09.26
    QT 기초 (Qt 특징/ Qt 설치/hello Qt)  (0) 2016.09.26
    QT to Adobe Flash  (0) 2016.09.26
    QT 함수 포인터  (0) 2016.09.26
상단으로