vc6.0 获取ip(一)
生活随笔
收集整理的這篇文章主要介紹了
vc6.0 获取ip(一)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
作為新手!自己學的東西太多怕自己忘記,就做記錄了(主攻單片機類);博客的文章以單片機為主,上位機為輔
最近被物聯網云服務器的協議搞的醉生醉死,就打算自己做一個小型的轉發服務器,娛樂使用,打算用vc6.0寫,純基礎,希望能幫到大家
因為買了a6 GPRS模塊,只支持tcp的,udp的以后在做了,至于為什么用vc6.0,我用的是xp系統,沒錢
有錯誤請指出,本人業余的(所寫的代碼,盡量注釋清楚)通過vc6.0的直接復制粘貼即可
(代碼來源于網絡,
僅供學習交流,嚴禁用于商業用途
)
//WSAStartup()。Windows Sockets Asynchronous的啟動命令,Windows下的網絡編程必須先啟用本命令,不然,后續的操作都會報錯:10093:WSAStartup() 調用未成功執行過。
//gethostname()獲得本機名
//gethostbyname()獲得本機網絡信息,存儲到struct hostent *指針中,返回給調用者
//從struct hostent結構體信息中,獲取ip地址,轉換成字符串輸出
?
//下面直接復制粘貼即可
#include "winsock2.h" #include <stdio.h> #pragma comment(lib,"ws2_32.lib") int main(int argc, char* argv[]) {WSADATA wsaData;char name[155]; char *ip;PHOSTENT hostinfo;if ( WSAStartup( MAKEWORD(2,0), &wsaData ) == 0 ) //WSAStartup()。Windows Sockets Asynchronous的啟動命令 {if( gethostname ( name, sizeof(name)) == 0) //gethostname()獲得本機名 {printf("hostname=%s\n", name); if((hostinfo = gethostbyname(name)) != NULL) //gethostbyname()獲得本機網絡信息,存儲到struct hostent *指針中,返回給調用者 {ip = inet_ntoa (*(struct in_addr *)*hostinfo->h_addr_list); //得到地址字符串printf("local host ip: %s\n",ip);}}WSACleanup( );//功能是終止Winsock 2 DLL (Ws2_32.dll) 的使用 }while(1);//這里加入的是死循環,避免黑色程序框自動關閉return 0;//直接退出去,調試情況下,無問題,不會退出 }
上面的while(1)可以注釋掉不用,下面是運行效果
?
轉載于:https://www.cnblogs.com/chenfeiguoguo/p/8547282.html
總結
以上是生活随笔為你收集整理的vc6.0 获取ip(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【自用】 sklearn 用 train
- 下一篇: 26.Azure备份服务器(下)