首页 > 代码库 > 学习 《UNIX网络编程》
学习 《UNIX网络编程》
学习本书之前,为了了解C语言,先通读了《C程序设计语言》。但对C语言的理解、熟悉可能还是不足,所以在学习本书的过程中,遇到看不懂的C代码,还要去查询、思考。
本书一开始,我就遇到了问题,运行不了程序。不知道在 MACOS 上面应该怎么编译并使其运行。所以学习编译并运行C代码。
OK,现在我们知道如何编译并运行文件了。
第一章
练习
1.3
socket error: Address family not supported by protocol family
1.4
在 while 函数体首行中添加
++bigger_than_zero_times;
1.5
for (int i=0; i<sizeof(buff); ++i) { Write(connfd, &buff[i], strlen(&buff[i])); }
计数器输出的值为 670--740之间,还会变化。原因是什么?
输出是这样
$ ./daytimetcpcli 127.0.0.1Tue May 30 21:12:38 2017ue May 30 21:12:38 2017e May 30 21:12:38 2017 May 30 21:12:38 2017May 30 21:12:38 2017ay 30 21:12:38 2017y 30 21:12:38 2017 30 21:12:38 201730 21:12:38 20170 21:12:38 2017 21:12:38 201721:12:38 20171:12:38 2017:12:38 201712:38 20172:38 2017:38 201738 20178 2017 20172017017177
还有乱码
有错误。我是想输出一个字符,而实际输出的是 i 之后的所有字符。原因是 strlen(&buff[i]) 这里写了输出的长度。这里改为 1 就正常了。所以答案是
for (int i=0; i<sizeof(buff); ++i) { Write(connfd, &buff[i], 1); }
学习 《UNIX网络编程》
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。