从LAN读取8位数据并在GUI中显示

时间:2012-11-20 16:11:03

标签: c# vb.net sockets lan

您好我是一名电气工程专业的学生,​​我正在设计一种记录数值的设备,然后将其作为简单的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端口访问信息,如果可能请发布套接字编程,因为作为电气工程师,编程并不是我的强项。谢谢。

1 个答案:

答案 0 :(得分:1)

根据经验,我在C#中为我的大学论文写了一个数据包分析引擎。您将面临的问题是Managed .NET不允许您捕获低于IP级别的数据,但是您可以使用一些非托管API来访问较低级别的数据包数据。例如,SharpPCap将允许您在数据层(OSI模型中的第2层)捕获数据包。我在.NET中什么都不知道,它允许你直接读/写字节到LAN适配器,即使你可以,任何PC都可能把它丢弃为错误的位/字节。

我给你的建议是:

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

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

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

  4. 恕我直言,这看起来更像是串口,甚至是USB的工作,你可以更好地控制发送/接收的数据。基于LAN的系统是基于标准的,因此为了使您的数据可以接受,您需要在某种程度上学习标准,或者使用现成的实现。