期中大作业丨题目以及解答剖析
该思维导图由 AI 生成,仅供参考
客户端程序
服务器端程序
- 深入了解
- 翻译
- 解释
- 总结
本文介绍了期中大作业的题目以及解答剖析。文章首先强调了大作业的目的,即考察如何使用系统API完成cd、pwd、ls等功能,以及对网络编程框架的掌握。接着,文章展示了客户端程序和服务器端程序的代码,并对其进行了详细解析。客户端程序主要考察了使用select多路复用处理标准输入和套接字的能力,以及使用shutdown关闭半连接的能力。而服务器端程序则考察了套接字读写的能力,以及对端连接关闭情况下的异常处理等能力。然后,文章指出了服务器端程序目前只能一次服务一个客户端连接,不具备并发服务的能力,并展望了接下来课程的重点,即基于I/O多路复用的事件驱动模型,设计一个高并发网络编程框架,实现一个HTTP服务器。整体而言,本文通过对客户端-服务器编程的基础知识进行剖析,展示了技术特点,并为读者提供了对网络编程的深入理解和未来学习方向的展望。
2019-09-2015人觉得很赞给文章提建议
《网络编程实战》,新⼈⾸单¥59
全部留言(14)
- 最新
- 精选
- ( ̄_ ̄ )我用的把dup2把标准输入输出重定向到套接字,用system调用命令
作者回复: 👍
2019-09-207 - Steiner为什么select要用两个fd_set来操作,只有一个fd_set会出现什么问题?
作者回复: 因为每次select操作完就会把传入的fd_set修改掉,以便告知应用程序什么样的事件发生了,所以需要一个初始化的fd_set保存感兴趣的待检测fd_set。
2019-09-203 - LDxy服务器端程序里面的count++是做何用的?
作者回复: 仅仅是为了计算连接的数量。
2019-09-212 - 骏Jero老师,有个问题想问下 UDP报文最大长度? 之前你的专栏udp那篇的提问,我编写代码在局域网试了下可以达到65507个字节。然后参照往上一些资料有些根据mtu来进行计算,但是为什么实际种事65507而不是mtu 1500字节计算出来的1472字节
作者回复: 你是怎么测试的?贴上代码来看看,很感兴趣的说。
2019-09-2062 - Geek_60e402ls命令我使用的是readdir函数读取当前目录下文件信息,包括文件类型,文件名,列出的文件可以更加个性化一点。
作者回复: 可以的
2021-12-101 - linkercd /改变了目录后,ls查看到的还是改变之前的目录里面的东西,pwd可以看到改变之后的,这可能是因为popen没有继承环境变量?
作者回复: 程序有点bug,data数据应该每次都要清零,否则之前的数据有残存在data数据中。不是popen的问题。
2020-03-2221 - Geek_Wison老师您好,上面服务器端代码的free result 你写错地方了,应该写到83行后面,但是你写到了90行了。
作者回复: 是的,两个地方都需要free掉这块内存。
2019-10-081 - Steiner对于cd我直接用了chdir,出现Permission denied怎么办
作者回复: 看一下你当前启动程序的user,还有你的目录属主权限,这个说明你当前启动程序的用户不是当前目录的属主,没有权限进行chdir操作。
2019-09-27 - 沉淀的梦想测了一些strcmp,好像写大小写敏感的,更接近Java里的equals,而不是equalsIgnoreCase吧?
作者回复: 是的。
2019-09-21 - mgxian可能老师的程序只是为了给我们演示。我发现老师程序主体都在一个main函数写的,没有分开组织成多个小函数,有时 if 的嵌套有点深,其实可以把异常情况直接 return 回去,这样嵌套就会少很多。这样代码也会容易理解一些。
作者回复: 嗯,只是一个演示,你们可以自行优化。拆分成多个函数当然是可以的。
2019-09-20