网络编程-练习题
1.什么是C/S架构?
C:Client
S:Server
2. 互联网协议是什么?分别介绍五层协议中每一层的功能?
互联网协议就是计算机界的英语,网络就是物理链接介质+互联网协议。互联网协议分为osi七层或tcp/ip五层或tcp/ip四层。
应用层:
传输层:
网络层:
数据链路层:
物理层:
3. 于tcp协议通信,为何建立链接需要三次握手,而断开链接却需要四次挥手
三次握手时server端的应答码和请求码合并在一起作为一次传输了。
四次挥手时依然保持独立。
4. 为何基于tcp协议的通信比基于udp协议的通信更可靠?
TCP需要经历三次握手保证已成功连接才开始传输数据。
UDP只管发或收可能会出现丢包情况。
5. 流式协议指的是什么协议,数据报协议指的是什么协议?
流式协议:SOCK_STREAM
数据报协议:SOCK_DGRAM
6. 什么是socket?简述基于tcp协议的套接字通信流程
7. 什么是粘包? socket 中造成粘包的原因是什么? 哪些情况会发生粘包现象?
粘包就是多次发送的命令结果并没有按照想象的一条命令对应一个结果进行响应,结果被黏在一起了。
原因:socket缓冲区导致的
发生情况:不知道结果的字节数究竟是多少,接收字节数设置不合适
8. 基于socket开发一个聊天程序,实现两端互相发送和接收消息
9. 基于tcp socket,开发简单的远程命令执行程序,允许用户执行命令,并返回结果
10. 基于tcp协议编写简单FTP程序,实现上传、下载文件功能,并解决粘包问题
11. 基于udp协议编写程序,实现功能
- 执行指定的命令,让客户端可以查看服务端的时间
- 执行指定的命令,让客户端可以与服务的的时间同步
共有 0 条评论