在QTcpSocket中连续发送XML数据的最简单方法

时间:2016-05-02 12:50:26

标签: c++ qt networking network-programming qtcpsocket

我必须从我的电脑上连续发送xml数据到我的平板电脑。 (两者都在运行窗口)

我的平板电脑应该会收到完整的xml文件并实时显示。

xml文件每次发送时都会包含一条通知消息。 它的类型为:

<notification>
<id>1</id>
<message>hello world</message>
</notification>

使用QTcpSocket最简单的方法是什么?

1 个答案:

答案 0 :(得分:1)

您只需接受所有数据并不断解析它。

假设您正在寻找两个标签之间的数据:

<notification>
      :
    data 
      :
</notification>

然后你会做以下事情:

  • 继续读取任何传入的数据,直到看到第一个标记(我猜你之前会丢弃任何错误)。

  • 获得开始标记后,打开文件并开始将所有数据存储到文件中,然后开始扫描结束标记。

  • 当您读入结束标记然后关闭文件并再次开始扫描开始标记时(即返回开始状态)...

你只需要创建一个小型状态机(可能只需要一个具有两种状态的变量:SCANNING_FOR_STARTSTORING_DATA_AND_SCANNING_FOR_END)。