既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
struct hostent \*phostinfo = gethostbyname("");
for(i = 0; NULL != phostinfo&& NULL != phostinfo->h_addr_list[i]; ++i)
{
char \*pszAddr = inet\_ntoa(\*(struct in\_addr \*)phostinfo->h_addr_list[i]);
printf("%s\n", pszAddr);
}
WSACleanup( );
}
int main()
{
getIPs();
return 0;
}
### 方法二
使用IDE新建一个C语言程序进行编写。代码如下:
#include <stdio.h>
#include <winsock2.h>
void queryLocalIP() {
WSADATA data;
if(WSAStartup(MAKEWORD(1,1),&data)!=0){
printf(“初始化错误”);
}
char host[255]="";
if(gethostname(host,sizeof(host))==SOCKET_ERROR){
printf("无法获取计算机主机名\n");
}
else{
printf("本机名称为:%s\n",host);
}
struct hostent \*p=gethostbyname(host);
if(p==0){
printf("无法获取计算机主机名及IP\n");
}
else{
//本机IP:循环输出本机所有网卡的IP,其中包括虚拟网卡
int i;
for(i=0;p->h_addr_list[i]!=0;i++){
struct in\_addr in;
memcpy(&in,p->h_addr_list[i],sizeof(struct in\_addr));
printf("本机的第%d块网卡的IP为:%s\n",i+1,inet\_ntoa(in));
//cout<<"第"<<i+1<<"块网卡的IP为:"<<inet\_ntoa(in)<<endl;
}
}
WSACleanup();
}
void queryHostNameIP(char *host) {
WSADATA data;
if(WSAStartup(MAKEWORD(1,1),&data)!=0){
printf(“初始化错误”);
}
//char host[255];
struct hostent \*p=gethostbyname(host);
if(p==0){
printf("无法获取%s的信息\n",host);
}
else{
//本机IP:循环输出本机所有网卡的IP,其中包括虚拟网卡
int i;
for(i=0;p->h_addr_list[i]!=0;i++){
struct in\_addr in;
memcpy(&in,p->h_addr_list[i],sizeof(struct in\_addr));
printf("解析%s的第%d个IP为:%s\n",host,i+1,inet\_ntoa(in));
//cout<<"第"<<i+1<<"块网卡的IP为:"<<inet\_ntoa(in)<<endl;
}
}
WSACleanup();
}
int main(){
queryLocalIP();
printf("=================================\n");
char\* hostname = "www.baidu.com";
queryHostNameIP(hostname);
printf("=================================\n");
//输出个人信息
printf("Ranly 2022/4/23");
return 0;
}
### 方法三:来自chatGPT
#include <stdio.h>
#include <winsock2.h>
#include <ws2tcpip.h>
#pragma comment(lib, “ws2\_32.lib”)
int main() {
WSADATA wsaData;
int iResult = WSAStartup(MAKEWORD(2,2), &wsaData);
if (iResult != 0) {
printf(“WSAStartup failed: %d\n”, iResult);
return 1;
}
char host_name[256];
gethostname(host_name, sizeof(host_name));
struct addrinfo *result = NULL, *ptr = NULL, hints;
ZeroMemory(&hints, sizeof(hints));
hints.ai_family = AF_INET;
hints.ai_socktype = SOCK_STREAM;
hints.ai_protocol = IPPROTO_TCP;
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
开发知识点,真正体系化!**
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新