好文档 - 专业文书写作范文服务资料分享网站

(整理)windows下的C语言网络编程.

天下 分享 时间: 加入收藏 我要投稿 点赞

精品文档

其中,h_addr_list[0]存放的就是本地主机的4个字节的IP地址,即:

h_addr_list[0][0].h_addr_list[0][1].h_addr_list[0][2].h_addr_list[0][3]

一个简单的用消息框显示主机名和IP地址的源程序如下:

#include int WSA_return; WSADATA WSAData; HOSTENT *host_entry; char host_name[256]; char host_address[256]; int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance, LPSTR lpCmdLine,int nCmdShow) { WSA_return=WSAStartup(0x0101,&WSAData); if(WSA_return==0) { gethostname(host_name,256); host_entry=gethostbyname(host_name); if(host_entry!=0) { wsprintf(host_address,\ (host_entry->h_addr_list[0][0]&0x00ff), (host_entry->h_addr_list[0][1]&0x00ff), (host_entry->h_addr_list[0][2]&0x00ff), (host_entry->h_addr_list[0][3]&0x00ff)); MessageBox(NULL,host_address,host_name,MB_OK); } } WSACleanup(); return 0; }

深入编程:

前面显示IP地址的时候,我们使用的是消息框,规范一点的编程应该使用对话框,如精品文档

精品文档

何编辑一个对话框,很多书中都有介绍,编辑的对话框可参考图5的运行界面。

头文件Get_IP.h如下:

BOOL APIENTRY Hostname_ipDlgPro(HWND hDlg,UINT message,WPARAM wParam,LPARAM lParam);

这个程序只使用了一个对话框过程,一般把这个过程的声明放在头文件中。

源程序Get_IP.c:

#include #include\#include\这个头文件在创建资源的时候会自动生成, //并会在插入资源时自动生成控件标识号. int WSA_return; WSADATA WSAData; HOSTENT *host_entry; char host_name[256]; char host_address[256]; int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance, LPSTR lpCmdLine,int nCmdShow) { WSA_return=WSAStartup(0x0101,&WSAData); if(WSA_return==0) { gethostname(host_name,256); host_entry=gethostbyname(host_name); if(host_entry!=0) { wsprintf(host_address,\ (host_entry->h_addr_list[0][0]&0x00ff), (host_entry->h_addr_list[0][1]&0x00ff), (host_entry->h_addr_list[0][2]&0x00ff), (host_entry->h_addr_list[0][3]&0x00ff)); } } WSACleanup(); DialogBox(hInstance,\ return 0; 精品文档

精品文档

} BOOL APIENTRY Hostname_ipDlgPro(HWND hDlg,UINT message, WPARAM wParam,LPARAM lParam) { switch(message) { case WM_INITDIALOG: return(TRUE); case WM_COMMAND: if(LOWORD(wParam)==IDOK) { SetDlgItemText(hDlg,IDC_EDIT1,host_name); SetDlgItemText(hDlg,IDC_EDIT2,host_address); SetDlgItemText(hDlg,IDCANCEL,\确定\ } if(LOWORD(wParam)==IDCANCEL) EndDialog(hDlg,TRUE); return(TRUE); break; } return(FALSE); } 三、利用VisualC++6.0编译Windows C程序

利用Visual C++6.0编译Windows C程序一般要经过以下四个步骤:新建项目、添加代码、添加资源和编译链接。下面我们简单地介绍一下程序上面介绍的规范的获取本机的主机名和IP地址程序的编译过程:

(一) 新建项目

1.启动MicrosoftVisualC++,然后在【文件】菜单中先择【新建】命令,弹出如图1所示的【新建】对话框:

精品文档

精品文档

图1

2.在【新建】对话框中,系统打开的是默认的【工程】选项卡,【工程】选项卡左侧的列表框中有多种建立工程的方式,我们选中“Win32 Application”选项。

3. 在【位置】文本框中输入新建工程的路径(例如:F:\\),在【工程】文本框中输入工程名称(例如:Get_IP)。

4. 选中【平台】列表框中的Win32复选框,然后单击【确定】按钮。

5. 在随后的对话框中,都选择默认设置,完成后,进入图2示界面:

精品文档

精品文档

图2

(二) 添加代码

在VisualC++6.0中,源代码一般存放在源代码文件和头文件中,往项目中添加源代码是非常方便的,为项目新建一个源代码文件一般要按下述方法操作:

1. 选择【工程】|【添加工程】|【新建】选项,弹出图3所示【新建】对话框:

精品文档

(整理)windows下的C语言网络编程.

精品文档其中,h_addr_list[0]存放的就是本地主机的4个字节的IP地址,即:h_addr_list[0][0].h_addr_list[0][1].h_addr_list[0][2].h_addr_list[0][3]一个简单的用消息框显示主机名和IP地址的源程序如下:#include<
推荐度:
点击下载文档文档为doc格式
0xm4b5w1vu3y3j84vsq02xzhu2kzn0009ur
领取福利

微信扫码领取福利

微信扫码分享