獲得本機IP

2021-05-04 22:52:00 字數 2280 閱讀 7523

1.簡單伺服器

//#include

//#pragma comment(lib,"ws2_32.lib")

wsadata wsd;

static uint port=%%1;

uint listen(lpvoid pparam)

sserver=socket(af_inet,sock_stream,ipproto_tcp);

if(invalid_socket==sserver)

sockaddr_in addrserv;

addrserv.sin_family=af_inet;

addrserv.sin_port=htons((short)pparam);

addrserv.sin_addr.s_addr=inaddr_any;

retval=bind(sserver,(lpsockaddr)&addrserv,sizeof(sockaddr_in));

if(socket_error==retval)

retval=listen(sserver,1);

if(socket_error==retval)

sockaddr_in addrclient;

int addrclientlen=sizeof(addrclient);

sclient=accept(sserver,(sockaddr far*)&addrclient,&addrclientlen);

if(invalid_socket==sclient)

zeromemory(buf,sizeof(buf));

retval=recv(sclient,buf,sizeof(buf),0);

if(socket_error==retval)

cstring %%2(buf);

closesocket(sserver);

closesocket(sclient);

wsacleanup();

return 0;

}cwinthread *pthread=afxbeginthread(listen,&port);

2.簡單客戶端

//#include

//#pragma comment(lib,"ws2_32.lib")

wsadata wsd;

socket shost;

sockaddr_in servaddr;

char buf[1024];

int retval;

if(wsastartup(makeword(2,2),&wsd)!=0)

shost=socket(af_inet,sock_stream,ipproto_tcp);

if(invalid_socket==shost)

servaddr.sin_family=af_inet;

servaddr.sin_addr.s_addr=inet_addr(%%3);

servaddr.sin_port=htons((short)%%2);

int nservaddlen=sizeof(servaddr);

retval=connect(shost,(lpsockaddr)&servaddr,sizeof(servaddr));

if(socket_error==retval)

zeromemory(buf,sizeof(buf));

strcpy(buf,%%3);

retval=send(shost,buf,sizeof(buf),0);

if(socket_error==retval)

closesocket(shost);

wsacleanup();

3.獲得本機ip

//#include

//#pragma comment(lib,"ws2_32.lib")

wsadata wsd;

if(wsastartup(makeword(2,2),&wsd)!=0)

char szhostname[100],szhostaddress[200];

if(gethostname(szhostname,sizeof(szhostname))!=socket_error)

}else

return;

cstring %%1(szhostaddress);

最簡單的socket 例子

獲得本機IP和MAC位址

用c 獲得本機ip和 mac類為管理物件的集合,上例中由檢索物件返回管理物件集合賦值給它.using system using system.collections.generic using system.text using system.net using system.management ...

獲得本機IP和DNS方法。

載自屢試不爽的某位大神。利用tcp傳送報文,給已知存在的ip傳送tcp連線,可以獲得本地有效ip。獲取當前使用的ip 獲取本機主dns 程式名 輸入引數 using system.io.streamreader sr new system.io.streamreader proc.standardo...

使用Python獲得本機IP位址

使用撥號上網的話,一般都有乙個本地ip和乙個外網ip,使用python可以很容易的得到這兩個ip 使用gethostbyname和gethostbyname ex兩個函式可以實現 import socket localip socket.gethostbyname socket.gethostnam...