Home >Database >Mysql Tutorial >Qt客户端与Erlang服务器通信(2):多个字符串的获取

Qt客户端与Erlang服务器通信(2):多个字符串的获取

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-06-07 15:37:471163browse

当在一条消息里需要发送多个字符串时,这时要提取每条字符串,需要做一些特殊的处理。上文提到,消息头是表示4字节长度的,那么我们可以利用消息头来截取所需的长度。 看代码: void Widget::slot_udpReadyRead(){ QByteArray byteArray1; while(udpSocket-h


    当在一条消息里需要发送多个字符串时,这时要提取每条字符串,需要做一些特殊的处理。上文提到,消息头是表示4字节长度的,那么我们可以利用消息头来截取所需的长度。

看代码:

void Widget::slot_udpReadyRead()
{
    QByteArray byteArray1;
    while(udpSocket->hasPendingDatagrams())
    {
        byteArray1.resize(udpSocket->pendingDatagramSize());
        udpSocket->readDatagram(byteArray1.data(),byteArray1.size());
    }

    //提取服务器回发消息里的信息
    QDataStream in1(&byteArray1,QIODevice::ReadOnly);
    QTextCodec *codec=QTextCodec::codecForName("UTF-16BE");

    //myStr1
    quint32 Len1;
    in1>>Len1;
    qDebug()toUnicode(byteArray1.right(byteArray1.length()-4));
    qDebug()>Len2;
    qDebug()toUnicode(byteArray2.right(byteArray2.length()-4));
    qDebug()

<p><br>
</p>
运行情况如下:
<p><img  src="/inc/test.jsp?url=http%3A%2F%2Fimg.blog.csdn.net%2F20140612055707937%3Fwatermark%2F2%2Ftext%2FaHR0cDovL2Jsb2cuY3Nkbi5uZXQvc3RyOTk5X2Nu%2Ffont%2F5a6L5L2T%2Ffontsize%2F400%2Ffill%2FI0JBQkFCMA%3D%3D%2Fdissolve%2F70%2Fgravity%2FSouthEast&refer=http%3A%2F%2Fblog.csdn.net%2Fstr999_cn%2Farticle%2Fdetails%2F30203381" alt="Qt客户端与Erlang服务器通信(2):多个字符串的获取" ><br>
<br>
</p>


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn