网络基础知识
题目一
你的同学需要进行小组讨论,有大量的素材文件需要在小范围内共享。请设计一个可行的文件共享方案。
题目二
你现在需要在你的电脑上进行 Web 前端开发,若你愿意,还可以尝试以任意方式在你的电脑上使用任一 Linux 发行版完成以下任务:
- 选择并学习一个你感兴趣的前端框架
- 使用命令行,在所选的操作系统上安装框架所需的依赖,初始化该框架并完成一个自我介绍页面。
- 在本地启动开发服务器并调试,然后构建生产环境代码,简要理解二者的作用。
- 使用某种方式在面试时向我们展示你完成了以上步骤
题目三
你委托侦探调查了一个神秘的组织,结果侦探被困住了,他只能通过一个奇怪的方式向你传递他听到的对话。
目标:打开http://113.44.139.48:8008
并使用合理的方式获取到侦探传递的信息。
本题非常简单,可以使用多种不同的方法完成哦!多多尝试会更好一些~
题目四
你需要学习并使用 UDP、TCP、HTTP 三种协议,编写一个客户端程序,按照特定的流程与服务器进行通信,完成一系列交互任务,取出我们留给你的一段话。
若你初次接触相关内容,观察服务器的响应内容是至关重要的,保存响应内容并且不断调试对于完成本题有很大帮助。
如果你无法完成整道题目,不用担心,任何的探索都是有价值的,我们记录下了你发出的每一次通信内容,这都会成为你的加分点。
- UDP 服务器: 117.72.115.162:8889
- TCP 服务器: 117.72.115.162:9998
- HTTP POST 地址: 117.72.115.162:8899/submit
4.1
建立连接
你需要通过 UDP 协议向服务器发送你的学号,获取一个会话标识符。
1 |
{ |
1 |
{ |
4.2
建立连接
使用第一阶段获得的标识符,通过 TCP 协议与服务器建立连接并接收数据。
1 |
{ |
1 |
{ |
接收流式数据
在 TCP
连接建立并成功响应后,服务器会立即发送多种类型的 JSON 消息,每个消息以换行符 (\n
) 分隔。
下面给出每种请求的格式:
1 |
{"type": "stream_start", "message": "开始流式传输"} |
1 |
{"type": "stream_char", "char": "c", "position": "0"} |
1 |
{"type": "stream_end", "message": "流式传输完成"} |
1 |
{"type": "disconnect_request", "message": "断开连接确认"} |
当收到断开确认请求时,你需要发送:
1 |
{ |
4.3
通过 HTTP POST 请求向服务器确认你的完成情况。
1 |
{ |