서버와 클라이언트의 파일 이름이 완전히 동일하도록 파일 이름이 포함 된 파일을 서버로 보낼 수있는 간단한 방법이 있습니까? 여기 QTCPSocket을 통해 파일 이름과 함께 파일을 보내는 방법은 무엇입니까?
는보낸 사람 내 코드 수신기
QString path = QApplication::applicationDirPath()+"/belajardansa.bmp";
QFile inputFile(path);
QByteArray read ;
inputFile.open(QIODevice::ReadOnly);
while(1)
{
read.clear();
read = inputFile.read(32768*8);
qDebug() << "Read : " << read.size();
if(read.size()==0)
break;
qDebug() << "Written : " << socket->write(read);
socket->waitForBytesWritten();
read.clear();
}
inputFile.close();
입니다 QTcpSocket* socket = static_cast<QTcpSocket*>(sender());
QBuffer* buffer = buffers.value(socket);
QByteArray read = socket->read(socket->bytesAvailable());
qDebug() << "Read : " << read.size();
QFile file( ???); // what should I put in the bracket???
if(!(file.open(QIODevice::Append)))
{
qDebug("File cannot be opened.");
exit(0);
}
file.write(read);
file.close();
QTcpSocket* socket = static_cast<QTcpSocket*>(sender());
QBuffer* buffer = buffers.value(socket);
QByteArray read = socket->read(socket->bytesAvailable());
qDebug() << "Read : " << read.size();
QFile file( ???); // what should I put in the bracket???
if(!(file.open(QIODevice::Append)))
{
qDebug("File cannot be opened.");
exit(0);
}
file.write(read);
file.close();
당신의 반응에 감사드립니다. 행크 첫 제안은 나에게 조금 복잡합니다. 나는 C++과 Qt에서 초보자이기 때문에. 데이터 구조를 QByteArray로 변환하는 샘플 코드를 줄 수 있습니까? 두 번째 제안에 대해 소켓 데이터에 파일 이름이나 데이터가 포함되어 있는지 서버에서 인식 할 수 있도록 소켓 데이터를 어떻게 처리해야하는지. –