addrinfo
結構內容如下:
struct addrinfo ;
1.1ai_family
ai_family
指定了位址族,可取值如下:值取值
含義af_inet
2ipv4
af_inet6
23ipv6
af_unspec
0協議無關
void print_family(struct addrinfo *aip)
}
1.2ai_socketype
值取值
含義sock_stream
1資料流協議
sock_dgram
2資料報協議
void print_type(struct addrinfo *aip)
}
1.3ai_protocol
值取值
含義ipproto_ip
0ip協議
ipproto_ipv4
4ipv4
ipproto_ipv6
41ipv6
ipproto_udp
17udp
ipproto_tcp
6tcp
void print_protocol(struct addrinfo *aip)
}
1.4ai_flags
值取值
含義ai_passive
1被動的,用於bind,通常用於server socket
ai_canonname
2用於返回主機的規範名稱
ai_numerichost
4位址為數字串
void print_flags(struct addrinfo *aip)
else
}
1.5sockaddr
套接字體制二級制表示。詳見第2節。
sockaddr
:
struct sockaddr ;
此資料結構用做bind、connect、recvfrom、sendto等函式的引數,指明位址資訊。但一般程式設計中並不直接針對此資料結構操作,而是使用另乙個與sockaddr等價的資料結構:sockaddr_in
:
// sockaddr_in(在netinet/in.h中定義):
struct sockaddr_in ;
struct in_addr ;
sockaddr_in
和sockaddr
是並列的結構,指向sockaddr_in
的結構體的指標也可以指向
sockadd
的結構體,並代替它。也就是說,你可以使用sockaddr_in
建立你所需要的資訊,
在最後用進行型別轉換就可以了bzero((char*)&mysock,sizeof(mysock));
//初始化:
mysock; // 結構體名
mysock.sa_family=af_inet;
mysock.sin_addr.s_addr=inet_addr("192.168.0.1");
Ax b的可解性 解的結構(Lec8)
1.先求非齊次解的乙個特解x p particular solution,有別於lec7中的特解,實際上lec7中的special solution是指a的基礎解系 2.再求矩陣a的零空間n a 求方程的 齊次通解 求ax 0的解 x n 3.ax b的通解為 x x p x n 然而,ax b的解...
配對堆 資料結構說解
乙個配對堆是一棵滿足堆序性質的樹,樹上每個節點儲存其關鍵字 子節點指標 兄弟節點指標和前驅指標。當該節點為其父節點的第乙個兒子,即父節點的子節點指標指向該節點時,該節點的前驅指標指向其父節點 否則該節點的前驅指標指向該節點的前乙個兄弟,即該節點的前驅指標指向的節點的兄弟節點指標指向該節點。配對堆可以...
LARGE INTEGER 大整數結構體的解析
在 winnt.h 檔案中定義了乙個結構體large integer,十分巧妙 if defined midl pass typedef struct large integer dummystructname struct u endif midl pass longlong quadpart l...