【问题标题】:java qt server/client dta transferjava qt 服务器/客户端数据传输
【发布时间】:2012-02-02 23:53:23
【问题描述】:

我创建了一个客户端(由 JAVA 创建)和一个服务器(由 qt/c++ 创建),但我遇到了数据传输问题(我认为格式有问题)。

服务器端代码:

void Pirate::DateArrived()
{
QTcpSocket *socket = qobject_cast<QTcpSocket *>(sender());  
QDataStream in (socket);
qDebug()<< socket->bytesAvailable();// here it give me the number of chars i sent in this ex:3
QString cmd ;
in >> cmd;
qDebug()<< cmd.size(); // here it always stay 0
qDebug() << cmd; // always ""

}
public void SendData(String data) throws IOException
    {
        OutputStream theOutput = socket.getOutputStream();
        OutputStreamWriter out = new OutputStreamWriter(theOutput);
        out.write("abc");
        out.flush();
    }

【问题讨论】:

    标签: java qt client-server transfer


    【解决方案1】:

    根据docs,当您反序列化QString 时,预计数据将包含以字节为单位的字符串长度 (quint32),后跟 UTF-16 格式的数据。

    【讨论】:

    • 谢谢你,这很有帮助,如果有人遇到同样的问题,只需将 QDataStream 切换到 QTextStream 并再次感谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多