freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

計算機網(wǎng)絡與通信課程設計--獲取主機名和ip地址(編輯修改稿)

2025-07-10 15:13 本頁面
 

【文章內(nèi)容簡介】 Info: 指向銷售商的數(shù)據(jù)結構的 指針 。這個結構的定 義(如果有)超出了 WindowsSockets 規(guī)范 的范圍。 版中已被廢棄。 4 設計過程 新建對話框 啟動 Visual C++ ,新建對話框應用程序,工程名為 sanjin,對話框標題改為“主機名和 IP 地址”。 添加控件 刪除掉對話框模板上的控件,添加新控件,如下表所示。 表 1 控件及其屬性一覽表 控件 ID 號 標題 屬性 BUTTON IDC_BUTTON1 擦除 默認 BUTTON IDC_BUTTON2 退出 默認 Static Text 默認 — Client edge Check Box IDC_CHECK1 運行 默認 武漢理工大學《 計 算機網(wǎng)絡與通信 》課程設計說明書 6 添加完控件后的對話框模板如下圖所示。 圖 1 添加完控件后的對話框模板圖 添加成員變量 打開 ClassWizard 對話框的 Member Variables 標簽,為下列控件添加成員變量。如下表所示。 表 2 控件及變量屬性 控件 ID 變量名 變量類型 數(shù)值范圍 IDC_CHECK1 m_Chk1 BOOL — 為控件添加映射消息 選擇 MFC ClassWizard 對話框的 Message Maps 標簽,為以下控件添加映射消息。如下表所示。 表 3 控件映射消息 Class name Object ids Messages Member functions CSanjinDlg IDC_BUTTON1 BN_CLICKED On_Button1 CSanjinDlg IDC_BUTTON2 BN_CLICKED On_Button2 CSanjinDlg IDC_CHECK1 BN_CLICKED On_Check1 武漢理工大學《 計 算機網(wǎng)絡與通信 》課程設計說明書 7 定義函數(shù) 在 中定義一個 Draw 函數(shù)。 public: void Draw()。 添加代碼 在 文件中添加代碼,實現(xiàn)功能。 添加程序代碼如下: void CSanjinDlg::OnButton1() { // TODO: Add your control notification handler code here Invalidate()。 } void CSanjinDlg::OnButton2() { // TODO: Add your control notification handler code here OnOK()。 } void CSanjinDlg::OnCheck1() { // TODO: Add your control notification handler code here m_Chk1=!m_Chk1。//初始化 Draw()。 } void CSanjinDlg::Draw() 武漢理工大學《 計 算機網(wǎng)絡與通信 》課程設計說明書 8 { CClientDC dc(this)。 int height。 CFont font。 height=75。 if(m_Chk1) (20,10,0,0,FW_NORMAL,false,false,false, GB2312_CHARSET,OUT_DEVICE_PRECIS, CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY, DEFAULT_PITCH,宋體 )。 else (20,10,0,0,FW_NORMAL,false,false,false, GB2312_CHARSET,OUT_DEVICE_PRECIS, CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY, DEFAULT_PITCH,楷體 _GB2312)。 CRect rect(15,25,336,276)。 (amp。rect,RGB(215,210,206))。 (amp。font)。 (TRANSPARENT)。 //初始化 :如果不初始化,以下代碼將無法執(zhí)行 WSAData data。 if(WSAStartup(MAKEWORD(1,1),amp。data)!=0) { (25,45,初始化錯誤 ,無法獲取主機信息 ...)。 } char host[255]。 武漢理工大學《 計 算機網(wǎng)絡與通信 》課程設計說明書 9 //獲取主機名 if(gethostname(host,sizeof(host))==SOCKET_ERROR) { (25,45,無法獲取主機名 )。 } else { (25,45,本機主機名為: )。 (75,75,host)。 } //獲取計算機 IP:gethostbyname 也需要初始化 (上面已初始化 ) struct hostent *p=gethostbyname(host)。 if(p==0) { (25,45,無法獲取計算機主機名及 IP...)。 } else { //本機 IP:利用循環(huán) ,輸出本機所有 IP for(int i=0。ph_addr_list[i]!=0。i++) { struct in_addr in。 memcpy(amp。in,ph_addr_list[i],sizeof(struct in_addr))。 (25,height+(i+1)*height/3,塊網(wǎng)卡 IP 為: )。//除以 3 只能正常 //顯示兩個 IP,要想顯示多個 IP 地址還需添加一個計算 IP 地址個數(shù)的循環(huán) (75,height+(i+1)*height*2/3,i_ntoa(in))。 武漢理工大學《 計 算機網(wǎng)絡與通信 》課程設計說明書 10 } } WSACleanup()。 } 程序說明:函數(shù) OnButton1()調(diào)用 Invalidate()實現(xiàn)擦除功能,函數(shù)OnButton1()調(diào)用 OnOK()實現(xiàn)退出功能, OnCheck1()作為觸發(fā)主要功能程序Draw()運行的函數(shù)。 Draw()函數(shù)定義了一個 CClientDC 類的對象 dc,和一個 Cfont類的對象 font。定義對象 dc 來實現(xiàn)將所獲得的主機名和 IP 地址顯示在對話框上,定義對象 font 來設置字體樣式。 設計 icon 并運行程序 在 Resource View 中擦除原 icon,為自己設計一個 Icon。然后將程序編譯并鏈接,運行程序,查看運行結果。 5 程序運行結果及分析 程序運行的最 終效果如圖所示。 圖 2 最終效果圖 點擊運 行后 ,調(diào) 用 Draw() 函數(shù), Draw() 函數(shù)調(diào)用 gethostname() 和getbyhostname()得到本地主機名和 IP 地址,并調(diào)用 TextOut()顯示在窗口的指定武漢理工大學《 計 算機網(wǎng)絡與通信 》課程設計說明書 11 位置。 6 心得體會 本次課設實現(xiàn)了獲取本地主機名和 IP 地址的功能,并用基本對話框顯示所獲得的結果,可以說是成功的。有一個小缺點是要使程序顯示出主機名和 IP地址是通過點擊復選框,這不符合通常我們都是點擊按鈕的習慣。但總體上我以為是成功的。 為了做這個課設,我確實花了一番心思。雖說有 C語言的基 礎,但實際上從我拿到題目查資料到最終做出來,我有一種
點擊復制文檔內(nèi)容
畢業(yè)設計相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1