通过网络tcp的xml数据。请帮忙

时间:2010-08-08 07:17:32

标签: c# xml network-programming packets

我有设备。每个人在随机时间内通过特定端口向(服务器IP地址)发送数据。因为它是一个报警设备,并且可能同时启动多个设备。 数据采用XML格式。

现在我已经有了一个小型的Windows应用程序来监听数据但是我遇到了一些问题

  1. 问题是应用程序正在嗅探数据包。意味着我可以获取TCP数据包中的数据....这意味着我将获取XML分组数据包而不是按顺序(按时间顺序)......这使得读取XML数据如此困难或者只需安排并阅读它。我需要读取来自设备的数据并以XML格式保存。即使我正在收听一台设备,数据包也没有按顺序排列
  2. 知道如何做到这一点。我在这里看到了其他一些问题,我尝试了所有这些答案,但没有谈论阅读XML文件。我使用的是与本文相同的代码

    http://www.codeproject.com/KB/IP/CSNetworkSniffer.aspx

1 个答案:

答案 0 :(得分:1)

您正在嗅探通过网络驱动程序的RAW数据包。在这个低级别,您可以通过分析数据包并使用TCP seq,ack / nak消息等来处理和重建消息。

这是关于TCP协议的维基百科文章,它可能会帮助您在深入研究更深层次的内容之前开始使用。 http://en.wikipedia.org/wiki/Transmission_Control_Protocol

当然是RFC最关键的来源。 http://tools.ietf.org/html/rfc793

我假设您正在嗅探数据,因为您有一些其他应用程序实际上充当服务器并侦听数据。如果现在你真的应该编写一个侦听TCP端口并从那里读取数据的应用程序。这样TCP协议将确保您以正确的顺序接收所有数据等。要开始使用此功能,您可以使用TcpListener类,或者使用较低级Socket类< / p>