1。字节序
小字节:低位保存在低字节
大字节:低位保存在高字节
简单程序判断:
int isLittle()
{
short i=0x0001;
if(1==*(char*)&i)
return 1;
else
return 0;
}
2.hostent结构 <netdb.h>
struct hostent {
char *h_name;
char **h_aliases;
int h_addrtype;
int h_length;
char **h_addr_list;
};
#define h_addr h_addr_list[0]
这里是这个数据结构的详细资料:
struct hostent:
h_name – 地址的正式名称。
h_aliases – 空字节-地址的预备名称的指针。
h_addrtype –地址类型; 通常是AF_INET。
h_length – 地址的比特长度。
h_addr_list – 零字节-主机网络地址指针。网络字节顺序。
h_addr - ---------h_addr_list中的第一地址。
,inet_ntoa(*((struct in_addr *)h->h_addr))); 将网络地址转换字符串 <arpa/inet.h>
3.servent <netdb.h>,linux相关文件 /etc/services,网络字节序
struct servent
{
char *s_name; /* Official service name. */
char **s_aliases; /* Alias list. */
int s_port; /* Port number. */
char *s_proto; /* Protocol to use. */
};
应用服务名称,端口,协议
TCP/IP
反复型:一次只能处理一个客户,并发型:创建新进程,可同时处理多个
套接字:全相关,半相关,传输:同步,异步