Unix网络编程学习笔记课后题(Chapter 4)

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

猜你喜欢

转载自blog.csdn.net/Ethan95/article/details/84932275
今日推荐