下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

在C++Builder中实现网络连接检测程序的方法

作者:课课家教育     来源: http://www.kokojia.com点击数:1426发布时间: 2017-01-04 08:00:36

标签: C++Builder编程代码执行测试

大神带你学编程,欢迎选课

  其实大家在进行网络连接检测的时候,大可以使用一些免费又非常好的网络连接检测工具。但是方法是不嫌多的,今天小编就给大家带来一种全新的方法,是在C++Builder中实现的。在C++Builder中实现网络连接检测程序的方法,总的来说还是比较简单的,现在我们就一起来学习一下吧。

在C++Builder中实现网络连接检测程序的方法_C++Builder_编程代码_执行测试_课课家

  大家可以发现Ping的实现过程其实是十分简单的,这个命令会把引发IP层发送到一个较为简单的IP包,一般情况下是32个字节。然而在目的方接收到这个包以后,就会把目的地址以及源地址这两者变换一下,重新再发送一下这个包就可以了。当然啦,在这个过程中我们还要加一些超时机制。其实如果想要实现网络连接检测功能的话,我们也可以使用C++BuilderNETMaster里面的NMEcho控件来实现。

  具体的实现方法如下:

  首先我们要做的就是定义一下控件,比如说:Edit控件、RichEdit控件等等。那么这些控件分别有什么作用呢?具体的作用如下:

  ①两个RichEdit控件:一个用于接收来自远程主机的信息,另外一个则用于给远程主机发送信息。

  ②三个Edit控件:第一个控件用于接收用户设置的超时机制的时间,第二个用于接收远程主机的域名或者是IP地址,最后一个控件则是用于设置端口号。

  ③一个Button控件:这个控件的作用是用于执行测试。

  ④一个StatusBar控件:主要作用是显示应用程序的状态。

  ⑤两个CheckBox控件:用于判断用户是否自己已经设定好端口号。

  具体的编程代码,如下图:

定义一下控件

  注意事项:我们在这里要注意一点,那就是在调用NMEcho控件里面的Connect()方法的时候,应该尽可能的确保一下在接收数据之前连接已经建立了。

  当我们将Connect()方法调用了以后,假如说用户输入的是域地址而不是IP地址,而且域名服务器还成功地将这个域名解析了,那么就会将触发控件里面的OnHostResoved事件。在这个事件的处理中,我们就会把已经解析成功的消息显示给用户看。那么在哪里显示呢?没错,就是在状态栏中显示。具体的编程代码,如下图:

把已经解析成功的消息显示给用户看

  假如说用户所输入的远程主机不正确的话,那么就会触发到控件里面的OnInvalidHost事件。在这个事件的处理中,屏幕会自动弹出一个对话框,在这个对话框中会要求我们重新输入一下远程主机的域名地址或者是IP地址,接下来就会试图着和服务器进行重建连接。具体的编程代码,如下图:

屏幕会自动弹出一个对话框

  当我们重新建立了连接以后,就会触发到控件里面的OnConnect事件。在这个事件的处理中,我们就会把连接成功的消息显示给用户,同样也是在状态栏中显示。具体的编程代码,如下图:

触发到控件里面的OnConnect事件

  假如说我们在调用Connect()方法以后,在超时时间依然没有和服务器进行连接,那么就会到触发控件里面的OnConnectFailed事件。在这个事件的处理中,我们就会把连接失败的消息显示给用户看。具体的编程代码,如下图:

触发控件里面的OnConnectFailed事件

  温馨提示:除了NMEcho控件可以实现以上全部的功能以外,NetMaster里面的NMTime以及NMDayTime这两个控件同样也是可以实现的。方法和NMEcho控件是一模一样的,主要的区别就是在于NMTime以及NMDayTime这两个控件不用首先将Connect()方法调用,它们和服务器之间的连接也是在使用TimeStr以及DayTimeStr这两个属性的时候自动进行的。

  小编结语:

  今天的教程“在C++Builder中实现网络连接检测程序的方法”,小编就已经介绍完毕了,大家都理解清楚了吗?如果你也有这样的需要,那就赶快来学习一下吧。更多更全面的编程语言教程,尽在课课家教育。

赞(17)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程