4.1 如何辨别<netinet/in.h>
中定义的INADDR_
是主机序还是网络序。
less /usr/include/netinet/in.h
可以发现是按小端序存储的,Linux的主机序就是小端序。
还有个想法,可以用htonl()去转换,看结果是不是相等。
4.2
在connect调用返回成功后调用getsockname查看本地地址和端口号
len=sizeof(cliaddr);
Getsockname(sockfd, (SA*)&cliaddr,&len);
printf("local addr: %s, port: %d\n",
Sock_ntop((SA*)&cliaddr,len));
4.3
ethan@ethan-virtual-machine:~/unp/unpv13e/intro$ ./daytimetcpsrv1
accept error: Invalid argument
4.4
没有bind,会随机为listenfd赋予一个临时端口,cli不能连接到srv