一 基本数据结构
? ? ?通用socket地址结构
? ? ? ? ? struct sockaddr
? ? ? ? ? ?{
? ? ? ? ? ? ? ? ?u_short sa_family; ? ? ? ? ? //协议地址簇
? ? ? ? ? ? ? ? ?char sa_data[14]; ? ? ? ? ? ? //通用地址
? ? ? ? ? ?}
? ? ?ipv4专用地址结构
? ? ? ? ? struct sockaddr_in
? ? ? ? ? ?{
? ? ? ? ? ? ? ? short ? sin_family;
? ? ? ? ? ? ? ? u_short sin_port;
? ? ? ? ? ? ? ?struct ?in_addr sin_addr;
? ? ? ? ? ? ? ?char ? ?sin_zero[8];
? ? ? ? ? ?};
? ? ? ? ? struct in_addr {
? ? ? ? ? ? ? ?union {
? ? ? ? ? ? ? ? ? ?struct { u_char s_b1,s_b2,s_b3,s_b4; } S_un_b;
? ? ? ? ? ? ? ? ? ?struct { u_short s_w1,s_w2; } S_un_w;
? ? ? ? ? ? ? ? ? ?u_long S_addr;
? ? ? ? ? ? ? ?} S_un;
? ? ? ? ? #define s_addr ?S_un.S_addr ? ? ? ? ? ? ? ? ?//can be used for most tcp & ip code
?
? ? ? ? ? #define s_imp ? S_un.S_un_w.s_w2 ? ? ? ?//?imp
?
? ? ? ? ? #define s_net ? ? ?S_un.S_un_b.s_b1 ? ? ? ?//?network
? ? ? ? ? #define s_host ? ?S_un.S_un_b.s_b2 ? ? ? //?host on imp
? ? ? ? ? #define s_lh ? ? ? ?S_un.S_un_b.s_b3 ? ? ? ? //?logical host
? ? ? ? ? #define s_impno S_un.S_un_b.s_b4 ? ? //??imp
?
?
?