65.9K
CodeProject 正在变化。 阅读更多。
Home

通信库文件 - NetTools | IsSameSubnet

emptyStarIconemptyStarIconemptyStarIconemptyStarIconemptyStarIcon

0/5 (0投票)

2015年4月15日

GPL3

2分钟阅读

viewsIcon

9042

downloadIcon

118

通信库文件 - NetTools | IsSameSubnet

引言

此示例展示了如何使用通讯库的 NetTools 部分,该部分是我和一位同事为 SICK A.G. 激光雷达设备(例如 LMS5xx)的演示目的而制作的。

整个库本身允许用户在 15 行代码内生成屏幕上的 3D 激光雷达图像(不包括错误处理等)。

此提示将处理 NetTools 的 IsSameSubnet 库部分,展示一种简单的方法来测试两个 IP 和子网掩码是否能够在 TCP 层面连接。

我为什么发布这个?我的目标是为激光雷达设备创建一个简单、开放的平台,因为它们被更广泛地使用。如果您发现任何应该不同的地方,请随时更改源代码并将结果作为评论发布。

背景

如前所述,此提示仅描述了整个通讯库的一部分(绿色块),而该库又是更大框架(所有块一起)的一部分,这些库是我内部用来演示激光雷达设备的。该库已经使用了大约 2 年,并且非常适用于我们的演示和现场测试。

所有较小的独立部分可以用于将 SICK 激光雷达数据转换为 3D 点云、LAS、CSV、位图或 3D 点云,只需最少的努力,让您有能力从这些设备生成出色的点云数据、3D 表示或位图。

此示例展示了如何使用通讯库的 NetTools 类中的 IsSameSubnet 函数。

为什么创建这个?因为一个普通的 255.255.255.0 子网掩码非常简单,但有时候,只是有时候,网络的管理员会有奇怪的组合,而问题“我能否连接到此设备?” 并不那么容易。当然,可以手动计算,但这个函数只是让生活更轻松,这就是它存在的原因。

Using the Code

该函数本身返回一个布尔值,如果两个 IP 地址和子网可以相互连接,则返回 true 或 false。输入的是主设备和从设备的 IPaddress 和子网。

 If SICK_Communication.NetTools.IsSameSubnet(IP1, Subnet1, IP2, Subnet2) = True Then
            Label5.Text = "IP's are TCP connectable"
            Label5.ForeColor = Color.LimeGreen
        Else
            Label5.Text = "IP's are NOT TCP connectable"
            Label5.ForeColor = Color.Red
        End If

就是这样。

示例向您展示了如何使用它并检查一个 string 是否被归类为 IP 地址,以及如何通过该函数解析它们(这基本上是上面的代码)

关注点

参考文件是构建整个事物所需的库的预构建集合。

请记住分享!!

历史

程序本身以 GPL 软件许可。一些示例是从互联网上获取的。如果我不小心在未经许可的情况下使用了任何东西或忽略了任何东西,请告诉我,我会纠正我的错误。

到目前为止,这是我和我的同事对该库的最新改编,被称为 V4 库。随时欢迎改进,希望您喜欢使用它。

其他技巧

© . All rights reserved.