일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 엑스퍼트2주년
- 등록임대주택
- 수도권주택공급
- lua install
- 엑스퍼트생일축하해
- QT TCP
- lua interpreter
- #서초구맛집 #교대역된장찌개 #옥된장교대점 #서초된장맛집 #교대직장인맛집 #된장찌개전문점 #서울된장정식 #혼밥맛집 #건강한한끼 #교대점심맛집
- object
- 월세
- lua for windows
- C API
- 중소규모택지
- 티몬삼겹살데이
- 전동포 #송파구전기자전거 #전동킥보드수리 #모토벨로대리점 #전기자전거판매 #전동스쿠터수리 #배터리수리 #전기자전거수리 #송파구전동킥보드 #전동이동수단
- #부동산전자거래 #부동산전자계약 #부동산계약 #부동산전자계약방법 #부동산전자계약하는법 #부동산계약방법 #부동산중개수수료 #부동산중개수수료아끼기 #부동산복비아끼기
- FILE TRANSFER
- Lua
- 찾다죽는줄
- 강남역맛집 #육전국밥강남역점 #강남국밥맛집 #서울국밥추천 #강남육전맛집 #강남혼밥 #강남역점심 #서울국밥집 #강남수육국밥 #육전정식
- lua setup
- 육전국밥 #강남역맛집 #24시간맛집 #소고기국밥 #육전 #모둠전 #해물파전 #강남한식 #혼밥맛집 #강남역국밥
- 국토교통부
- #신혼부부 #결혼준비 #신혼부부희망타운신혼부부특별공급
- 편편집 #강남역맛집 #강남샤브샤브 #강남무한리필 #편백찜맛집 #월남쌈맛집 #샤브샤브맛집 #가성비맛집 #강남회식 #강남데이트
- file write
- 순남시래기 #교대맛집 #교대역맛집 #한식맛집 #시래기국 #서울맛집 #가성비맛집 #건강한식단 #셀프반찬 #직장인맛집
- QTcpServer
- C++ API
- TCP/IP
- Today
- Total
Value Creator의 IT(프로그래밍 / 전자제품)
#18 TCP File 전송 프로그램(Server / Client) - 제작자 WhatTheBlock 본문
#18 TCP File 전송 프로그램(Server / Client) - 제작자 WhatTheBlock
valuecreatort 2019. 6. 20. 20:191. QT의 TCP 기반의 파일 전송 프로그램을 github에서 찾았습니다.
2. 중국어로 되어 있어서 한국어로 번역해서 공유합니다.
[원본 링크]
1) 클라이언트
https://github.com/WhatTheBlock/Qt_TcpFileSender
2) 서버
https://github.com/WhatTheBlock/Qt_TcpFileServer
[한국어 번역본]
클라이언트(Sender)와 서버(Server)
※ 하지만 위의 코드 모두 QT5 이상에서 호환 가능합니다.
QT4에서 호환가능 하도록 수정한 코드를 아래에수록합니다.
* 수정사항
[클라이언트, 서버 소스코드 공통 적용]
1) 헤더 파일에 #include <QtWidgets> 대신 아래 코드 삽입
#include <QtGlobal>
#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
# include <QtWidgets>
#else
# include <QtGui>
#endif
--> QT 버전에 따라 둘 중에 하나를 선택합니다.
QT5 : QtWidgets 사용, QT4 : QtGui 사용
2) 코드 내의 모든 QStringLiteral --> QString::fromUtf8으로 변경
--> QT4에서는 QStringLiteral 호환이 안됩니다. 또한 일반 QString으로 할 경우 한글 깨짐 현상이 있어서 QString::fromUtf8으로 바꿨습니다.
참고 사이트 https://mokga.tistory.com/78
[Qt] 한글꺠짐 현상(파일입출력)
Qt 에서 파일 입출력시에 한글이 깨져서 읽히는 경우가 있다. 다방면으로 삽질한 결과 해결방법을 찾을 수 있었다. 원인 : Qt 에서 QString 에 담겨진 한글내용을 파일로 저장하는 경우에 인코딩 형식이 달라 한글..
mokga.tistory.com
[서버 소스코드 한정]
3) IP주소
기존 : tcpserver.listen(QHostAddress::AnyIPv4,16998)
변경 : tcpserver.listen(QHostAddress::Any,16998)
QT4에서는 Any로 사용하는 것 같습니다.
3. 사용방법
1) 서버를 실행합니다.

2) 수신 대기 시작을 누릅니다.

3) 클라이언트를 실행하고, 파일을 고릅니다. 파일을 고르면 시작 버튼이 활성화됩니다.

4) Server IP : 127.0.0.1입력하고, Server Port : 16998 입력합니다.
127.0.0.1은 로컬 호스트로서, 자기 자신과 통신 테스트를 하는 ip입니다.
Port는 서버 쪽 소스코드에서 원하는 값으로 바꿀 수 있습니다.
클라이언트와 서버의 ip와 포트만 맞춰주면 됩니다.
다른 컴퓨터와 통신을 하려면, 받으려는 쪽은 서버만 켜고, 보내려는 쪽은 클라이언트만 켭니다.
서버의 IP와 PORT를 올바르게 입력해주면 파일 전송이 잘 됩니다.

5) 전송 시작을 누릅니다.


6) 잘 전송이 되었는지 확인합니다.
서버 쪽 빌드 폴더 안에 들어갑니다.
보낸 파일은 filesdnd-qt-master.zip 이라는 파일입니다.

추후에 경로 지정이나 서버 닫기, 일시 중지, 클라이언트 닫기, 선택한 파일 표시 등 기능 추가가 필요해보입니다.
'1. 프로그래밍 > 3) QT' 카테고리의 다른 글
#20 QT TCP File 전송 프로그램 - 제작자 daijunyi123 (0) | 2019.06.20 |
---|---|
#19 QT TCP 파일 전송 프로그램 - 제작자 hustStt (0) | 2019.06.20 |
#17 QT <QTcpServer> include시 오류가 날때 (0) | 2019.06.20 |
#16 QT UDP, TCP 이용한 텍스트 및 텍스트 파일 송수신 프로그램 (0) | 2019.06.19 |
#15 QFile을 이용한 메모장 만들기 (0) | 2019.06.19 |