#include <stdio.h>
#include <winsock2.h>
#pragma comment(lib,"ws2_32.lib") //winsock 2.2 library
// 获取本机ip,winsock
// 来源于网络
typedef struct {
char FAR * h_name;
char FAR * FAR * h_aliases;
short h_addrtype;
short h_length;
char FAR * FAR * h_addr_list;
} hostent ;
int main()
{
char host[100];
hostent *local;
//Initialise Winsock
WSADATA wsock;
if (WSAStartup(MAKEWORD(2,2),&wsock) != 0)
{
fprintf(stderr,"WSAStartup() failed");
exit(EXIT_FAILURE);
}
gethostname(host,sizeof(host));
local = (hostent*)gethostbyname(host);
printf("name=%s\naliases=%s\naddrtype=%d\nlength=%d\n",
local->h_name, local->h_aliases, local->h_addrtype, local->h_length);
printf("IP Address : %s\n",inet_ntoa(*((struct in_addr *)local->h_addr)));
if (WSACleanup() == SOCKET_ERROR)
{
printf("WSACleanup failed with error %d\n", WSAGetLastError());
}
return 0;
}
分享到:
相关推荐
Delphi 7.0基于WinSock创建一个CS结构的文件传输服务,有客户端和服务端,程序运行时,先运行服务端,然后指定端口,要和客户端对应,主机IP地址会自动获龋在传输文件时,会有提示,每一步操作几乎都有提示。...
本文将详细介绍如何使用C++编程语言来获取CPU、IP地址以及MAC地址这些关键信息。 首先,我们要了解CPU信息的获取。在Windows操作系统下,可以通过Windows API函数来获取CPU的相关数据。例如,可以使用`...
在开发过程中,有时需要获取运行环境的一些基本信息,如操作系统版本、计算机名、IP地址等。这些信息对于调试、维护或是实现特定功能时非常有用。本篇文章基于Delphi编程语言,通过定义特定的结构体和调用Windows ...
对于IP数据包,我们需要解析源和目标IP地址,以及服务类型和TTL字段。 此外,安全方面也是数据包捕获的重要应用场景。例如,检测网络入侵和恶意活动,程序可能包含规则匹配或异常检测算法,通过对比已知攻击模式来...
2.1 Win32可执行文件的开发过程 2.2 编译器和链接器(1) 2.2 编译器和链接器(2) 2.2 编译器和链接器(3) 2.3 创 建 资 源 2.4 make工具的用法(1) 2.4 make工具的用法(2) 2.5 获 取 资 料 2.6 构建编程环境 ...
2.5 获 取 资 料 2.6 构建编程环境 第3章 使用MASM 当搭建编译和对编译器的使用不再成为绊脚石的时候,初学者的问题往往集中在对Windows程序结构的迷惑上,消息驱动体系、窗口过程、与硬件隔绝的图形...