myy1994 2016-02-02 08:55 采纳率: 66.7%
浏览 1740
已采纳

qt的tftp数据报的问题

菜鸟问题,tftp数据报 请求包的问题

            QString mode_qstr = "octet";
            QByteArray outBlock;
    QByteArray mode_qbytearr=mode_qstr.toLatin1();
    char *mode=mode_qbytearr.data();
            QDataStream sendout(&outBlock,QIODevice::WriteOnly);
    sendout.setVersion(QDataStream::Qt_5_5);
            QString currentFileName = sendFileName.right(sendFileName.size()-sendFileName.lastIndexOf('/')-1);//截取文件名
    QByteArray sendFileName_qbytearr=currentFileName.toLatin1();
    char *sendFileName_char=sendFileName_qbytearr.data();
            sendout<<qint8(2)<<sendFileName_char<<qint8(0)<<mode<<qint8(0);//qint8(2)后面多了6个零啊 才跟上了char 后面也是!!!!!!!!!!如下图
            sender->writeDatagram(outBlock,outBlock.size(),*sendHost,sendPort);

图片说明

wireshark抓包如图,应该如何修改啊
大概是数据类型的错?
tftp数据报的格式是对的吧? 02文件名0模式0

  • 写回答

1条回答 默认 最新

  • devmiao 2016-02-02 23:32
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?