1

您好,我是一名电气工程专业的学生,​​我正在设计一种记录值的设备,然后将其作为简单的 8 位数据发送到 LAN 端口。我必须使用时间戳检索这些数据并将其显示在 GUI 中。

发送的数据将采用以下形式:

                (MSB)                                   (LSB)
             [start bit | 3 | 4 | 2 | 7 | 2 | 4 | 6 | stop bit]

并将在 GUI 中显示为:

          [Computer Time]   34.2 Volts   7.2 Amperes   46 degrees

请指导我如何使用 C# 或 VB.Net 从 LAN 端口访问信息,如果可能,请发布套接字编程,因为作为电气工程师,编程并不是我的强项。谢谢你。

4

1 回答 1

1

从经验上讲,我为我的大学论文用 C# 编写了一个数据包分析引擎。您将面临的问题是托管 .NET 不允许您捕获 IP 级别以下的数据,但是您可以使用一些非托管 API 来访问较低级别的数据包数据。例如,SharpPCap 将允许您在数据层(OSI 模型中的第 2 层)捕获数据包。我知道 .NET 中没有任何内容可以让您直接读取/写入 LAN 适配器的字节,即使可以,任何 PC 都可能将其作为错误的位/字节丢弃。

我给你的建议是:

  1. 了解 OSI 模型以及数据包封装的工作原理。

  2. 了解 MAC 和 IP 寻址的工作原理

  3. 考虑您可以在什么级别传输数据,以及如何将其从代码序列化为可传输的东西。(反之亦然)。

恕我直言,这似乎更像是串行端口的工作,甚至可能是 USB,您可以更好地控制正在发送/接收的数据。基于 LAN 的系统是基于标准的,因此为了让您的数据能够被接受,您需要在某种程度上学习标准,或使用现成的实现。

于 2012-11-20T16:25:08.530 回答