vc6.0 获取ip(一)
作為新手!自己學(xué)的東西太多怕自己忘記,就做記錄了(主攻單片機類);博客的文章以單片機為主,上位機為輔
最近被物聯(lián)網(wǎng)云服務(wù)器的協(xié)議搞的醉生醉死,就打算自己做一個小型的轉(zhuǎn)發(fā)服務(wù)器,娛樂使用,打算用vc6.0寫,純基礎(chǔ),希望能幫到大家
因為買了a6 GPRS模塊,只支持tcp的,udp的以后在做了,至于為什么用vc6.0,我用的是xp系統(tǒng),沒錢
有錯誤請指出,本人業(yè)余的(所寫的代碼,盡量注釋清楚)通過vc6.0的直接復(fù)制粘貼即可
(代碼來源于網(wǎng)絡(luò),
僅供學(xué)習(xí)交流,嚴(yán)禁用于商業(yè)用途
)
//WSAStartup()。Windows Sockets Asynchronous的啟動命令,Windows下的網(wǎng)絡(luò)編程必須先啟用本命令,不然,后續(xù)的操作都會報錯:10093:WSAStartup() 調(diào)用未成功執(zhí)行過。
//gethostname()獲得本機名
//gethostbyname()獲得本機網(wǎng)絡(luò)信息,存儲到struct hostent *指針中,返回給調(diào)用者
//從struct hostent結(jié)構(gòu)體信息中,獲取ip地址,轉(zhuǎn)換成字符串輸出
?
//下面直接復(fù)制粘貼即可
#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()獲得本機網(wǎng)絡(luò)信息,存儲到struct hostent *指針中,返回給調(diào)用者 {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);//這里加入的是死循環(huán),避免黑色程序框自動關(guān)閉return 0;//直接退出去,調(diào)試情況下,無問題,不會退出 }
上面的while(1)可以注釋掉不用,下面是運行效果
?
轉(zhuǎn)載于:https://www.cnblogs.com/chenfeiguoguo/p/8547282.html
總結(jié)
以上是生活随笔為你收集整理的vc6.0 获取ip(一)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【自用】 sklearn 用 train
- 下一篇: 26.Azure备份服务器(下)