1.通過**獲取ip
標頭檔案struct hostent *gethostbyname(const char *name); 返回乙個目的主機的結構體
struct hostent
; #define h_addr h_addr_list[0] //儲存的是ip位址
h_addr 儲存了目的主機的ip不好意思他是乙個網路序 並且是char*的資料 所以先要轉成網路 序才能去轉
#include #include #include #include #include #include #include using namespace std;
int main()
{ struct hostent* host = null;
sockaddr_in caddr;
char www[20]="";
fgets(www,20,stdin);//多讀個回車
www[strlen(www)-1]='\0';
cout
// 網路位元組轉字串
printf("ip address : %s\n",inet_ntop(host->h_addrtype,host->h_addr,ip,sizeof(ip))); 這個api也可以
2.通過套接字獲取到該套接字的埠和ip
獲取本地協議的位址
getsockname(listenfd, (
struct
sockaddr *)&listendaddr, &listendaddrlen);
using namespace std;
9 int main()
10 {
11 struct hostent* host = null;
12 struct sockaddr_in caddr,saddr;
13 int socketfd=socket(af_inet,sock_stream,0);
14 memset(&caddr,0,sizeof(caddr));
15 caddr.sin_family=af_inet;
16 caddr.sin_port=htons(8888);
17 caddr.sin_addr.s_addr=inet_addr("10.104.238.147");
18 int res=bind(socketfd,(sockaddr *)&caddr,sizeof(caddr));
19 listen(socketfd,5);
20 socklen_t len=sizeof(saddr);
21 getsockname(socketfd,(sockaddr*)&saddr,&len);
22 cout<
getpeername函式用於獲取與某個套接字關聯的外地協議位址
getpeername(connfd, (
struct
sockaddr *)&connectedaddr, &connectedaddrlen);
//獲取connfd表示的連線上的本地位址
VUE 幾個常用的全域性API
1.extend vue.extend options options 建立元件的建構函式為了復用 通過vue.extend 原始碼分析下來,extend 是擴充套件繼承了父類的屬性,方法 深度複製 擴充套件父類規則 子元件和父元件的生命週期事件會合併在乙個陣列裡。父元件在前子元件在後。子元件和父元...
js 陣列幾個常用API
1.陣列方法 map var arr 1,2,3,4,5,6 var b arr.map el el a arr.map el console.log b 6 1a 2a 3a 4a 5a 6a map 返回乙個陣列,其中每個元素都使用指定函式進行過轉換。2.arr.filter 返回乙個陣列,只有...
網路程式設計 常用API
該類用於標識網路上的硬體資源,表示網際網路協議的ip位址 該類沒有構造方法,所以不能直接new出乙個物件,可以通過該類的靜態方法獲得inetaddress的物件 public class ipdemo url 統一資源定位符,表示internet上某一資源的位址 public class urlde...