2 augusti, 2019 Incopia

qt udp 예제

get()를 사용하여 단일 파일을 검색하는 방법을 보여 주는 예제로 시작합니다. 명령줄에 지정된 원격 파일을 다운로드하는 ftpget이라는 콘솔 응용 프로그램이 있습니다. 기본() 함수부터 시작해 보겠습니다: 브로드캐스트 발신자, 브로드캐스트 수신기, 멀티캐스트 발신자 및 멀티캐스트 수신기 예제는 응용 프로그램에서 QUdpSocket을 사용하는 방법을 보여 줍니다. 임의의 FTP 명령은 rawCommand()를 사용하여 실행할 수 있습니다. 예를 들어 SITE CHMOD 명령을 실행하는 방법은 다음과 같습니다. 이것은 사실이 아닙니다. 메모리에 데이터를 원한다면 QByteArray를 래핑하는 QIODevice 하위 클래스인 QBuffer를 사용할 수 있습니다. 예: 이제 보다 고급 예제를 살펴보겠습니다. 스파이더 명령줄 프로그램은 FTP 디렉터리에있는 모든 파일을 다운로드하여 모든 디렉토리의 하위 디렉토리에서 재귀적으로 다운로드합니다.

네트워크 논리는 Spider 클래스에 있습니다: 파일이 실제로 디렉토리인 경우 보류 중인 Dirs 목록에 추가되고 현재 목록() 명령의 마지막 파일이 다운로드되면 새 cd() 명령이 발행되고 다음 펜이 있는 새 목록() 명령이 표시됩니다. 모든 프로세스가 새 디렉터리로 다시 시작됩니다. 이 반복, 새 파일을 다운로드 되 고, 보류 중인 Dirs 목록에 추가 된 새로운 디렉토리, 모든 파일이 모든 디렉토리에서 다운로드 될 때까지, 이 시점에서 보류 중인 Dirs 목록은 마지막으로 비어 있을 것입니다. 생성자에서 QFtp::done(bool) 신호를 ftpDone(bool) 개인 슬롯에 연결합니다. QFtp는 모든 요청 처리가 완료되면 완료(bool)를 내보냅니다. bool 매개 변수는 오류가 발생했는지 여부를 나타냅니다. maxSize 바이트보다 큰 데이터그램을 수신하고 보낸 사람의 호스트 주소 및 포트와 함께 QNetworkDatagram 개체에서 반환합니다. 가능하면 이 함수는 수신 시 데이터그램의 대상 주소, 포트 및 홉 개수를 확인하려고 시도합니다. 데이터그램 데이터그램을 호스트 주소와 포트로 보냅니다. 소켓->쓰기 데이터그램(데이터, QHostAddress::LocalHost, 1234); } 보이드 UDPSocket::readyRead() { // 데이터가 QByteArray 버퍼에 들어올 때; buffer.resize(소켓-보류 중인 DatagramSize(); main() 함수가 프로그램을 완료합니다.