C Builder實現網路連線檢測程式

2021-06-21 07:18:24 字數 1370 閱讀 5342

ping的實現過程很簡單,該命令將引發ip層傳送乙個簡單的ip包,一般是32位元組。而目的方收到這個包後,將源位址和目的位址變換一下,重新傳送這個包即可,當然還要加一些超時機制。其實,我們也可用c++ builder netmaster中的nmecho控制項來實現網路連線檢測功能。

首先定義以下控制項

三個edit控制項:乙個用於接收遠端主機的ip位址或網域名稱,乙個用於接收使用者設定的超時機制的時間,乙個用於設定埠號。

兩個richedit控制項:乙個用於給遠端主機傳送資訊,乙個用於接收來自遠端主機的資訊。

兩個checkbox控制項:用於使用者是否自己設定埠號。

乙個button控制項:用於執行測試。

乙個statusbar控制項:用於顯示應用程式的狀態。

程式實現**如下

void __fastcall tform1::button1click(tobject ender)

注意:在呼叫nmecho控制項的connect()方法時,應該確保在接收資料之前連線已經建立。

當呼叫connect()方法後,如果使用者輸入的是域位址而不是ip位址,且網域名稱伺服器成功地解析了這個網域名稱,將觸發控制項的onhostresoved事件,在此事件的處理中,我們將解析成功的訊息在狀態列中顯示給使用者。具體實現**如下:

void __fastcall tform1::nmecho1hostresolved(tcomponent  ender)

如果使用者輸入的遠端主機不正確,將觸發控制項的oninvalidhost事件,在此事件的處理中,彈出對話方塊要求使用者重新輸入遠端主機的ip位址或網域名稱位址,然後試圖與伺服器重建連線。具體**如下:

void __fastcall tform1::nmecho1invalidhost(bool &&handled) }

建立連線後,將觸發控制項的onconnect事件,在此事件的處理中,我們將連線成功的訊息在狀態列中顯示給使用者。具體實現**如下:

void __fastcall tform1::nmecho1connect(tobject ender)

如果在呼叫connect()方法後,在超時時間仍然沒有與伺服器連線,將觸發控制項的onconnectfailed事件,在此事件的處理中,我們將連線失敗的訊息顯示給使用者。具體實現**如下:

void __fastcall tform1::nmecho1connectionfailed(tobject ender)

除了nmecho控制項可以實現以上功能外,netmaster的nmdaytime、nmtime這兩個控制項也能實現。方法與nmecho控制項一樣,區別是nmdaytime和nmtime這兩個控制項不用首先呼叫connect()方法,它們與伺服器的連線是在使用daytimestr、timestr屬性時自動進行的.

VMware實現網路連線

日期 2008 10 18 kagula 本文的閱讀物件是有計算機網路基本知識的讀者。這裡假設宿主機用的是 winxp 作業系統。虛擬機器的連線方式 vmware 主要有三種連網方式 橋接 nat host only 如下圖。上圖中的 vmware 包括三種連線方式的虛擬機器。不同連線方式的虛擬機器...

WIFI模組實現網路連線

wifi模組連線,通過串列埠除錯助手來配置 sta 連線tcp server 1,at cwmode def 1 工作在單station模組,設定引數儲存到flash 2,at cwjap def newifi f8a0 anxinke123 連線路由器,儲存到flash 3,at cipstart...

GG 網路連線。

www.google.com 還有 maps.google.com 又不能訪問了。不太相信是 google 自身的技術原因。m 之類的競爭對手也不至於在新的瀏覽器裡採取什麼手段。真不知道怎麼揣測了。不知道是不是有 高能強智 的干擾項在起作用。這種技術在今天的這裡好像已經很成熟的樣子了。以前,還可以用...