재미있는 수학

Menu

qt udp 통신 예제

이제 보다 고급 예제를 살펴보겠습니다. 스파이더 명령줄 프로그램은 FTP 디렉터리에있는 모든 파일을 다운로드하여 모든 디렉토리의 하위 디렉토리에서 재귀적으로 다운로드합니다. 네트워크 논리는 Spider 클래스에 있습니다: 두 FTP 예제에서 get()를 사용하여 검색된 데이터가 QFile에 기록되었습니다. 이것은 사실이 아닙니다. 메모리에 데이터를 원한다면 QByteArray를 래핑하는 QIODevice 하위 클래스인 QBuffer를 사용할 수 있습니다. 예를 들어 QFtp는 명령 실행이 시작될 때 commandStarted(int) 신호를 방출하고 명령이 완료되면 완료(int, bool) 신호를 보냅니다. int 매개 변수는 명령을 식별하는 ID 번호입니다. 개별 명령의 운명에 관심이 있다면 명령을 예약할 때 ID 번호를 저장할 수 있습니다. ID 번호를 추적하면 사용자에게 자세한 피드백을 제공할 수 있습니다.

예를 들어 임의의 FTP 명령은 rawCommand()를 사용하여 실행할 수 있습니다. 예를 들어 SITE CHMOD 명령을 실행하는 방법은 다음과 같습니다. 명령줄에 지정된 원격 파일을 다운로드하는 ftpget이라는 콘솔 응용 프로그램이 있습니다. 기본() 함수부터 시작해 보겠습니다: 브로드캐스트 발신자, 브로드캐스트 수신기, 멀티캐스트 발신자 및 멀티캐스트 수신기 예제는 응용 프로그램에서 QUdpSocket을 사용하는 방법을 보여 줍니다. Receiver 클래스의 생성자 내에서 `status` 속성을 초기화 하 고 하위 수준 네트워크 통신을 캡슐화 하는 QUdpSocket 개체를 만듭니다. bind() 호출하여 들어오는 브로드캐스트 메시지에 대해 포트 45454에서 소켓을 수신합니다. 다음 단계에서는 새 데이터그램이 도착할 때마다 방출되는 소켓의 readyRead() 신호를 자체 슬롯 프로세스PendingDatagrams()에 대해 연결합니다. QFtp 클래스는 Qt에서 FTP 프로토콜의 클라이언트 측을 구현합니다. 가장 일반적인 FTP 작업을 수행하는 다양한 기능을 제공하며 임의의 FTP 명령을 실행할 수 있습니다. 그런 다음 MyUdpSocket이라는 새 클래스를 만들려고 합니다. 다음으로 QFtp 개체를 사용하여 4개의 FTP 명령 시퀀스를 실행합니다.

url.port(21) 호출은 URL 자체에 지정된 포트 번호 또는 포트 21을 반환합니다.

No categories

Comments

Sorry, comments are closed for this item.