Ana*_* S. 5 qt qtcpsocket qtcpserver qtnetwork
是否有任何简单的方法将文件发送到包含文件名的服务器,以便服务器和客户端中的文件名完全相同?
这是我的代码
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();
Run Code Online (Sandbox Code Playgroud)
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();
Run Code Online (Sandbox Code Playgroud)
没有非常简单的方法.您必须创建自己的协议.但是,该协议通常可以是非常非常简单的协议.
在写作结束时,简单的例子
QString::toUtf8()在阅读结束时:
QString::fromUtf8()在写入和读取时,如果要在不同的计算机之间进行通信,则应在写入之前将其转换为网络字节顺序,并在读取之后将其转换为主机字节顺序.您还可以决定定义,使用"x86字节排序",并且任何读取具有不同CPU需求的数据的人都要转换...
| 归档时间: |
|
| 查看次数: |
4548 次 |
| 最近记录: |