一.TCP基础
1.TCP和UDP的区别
TCP是面向连接的, 三次握手.
数据安全
区分客户端与服务端
2.客户端
Socket在创建时需要指定IP地址和端口号, 创建之后就会连接服务器
连接之后可以通过getInputStream()和getOutputStream()获取输入输出流
通过IO流和服务器传输数据
3.服务端
ServerSocket在创建时需要指定端口号
使用accept()方法接收一个请求, 获取和客户端对应的Socket
连接之后可以通过getInputStream()和getOutputStream()获取输入输出流
通过IO流和客户端传输数据
二.telnet
1.配置Path
telnet是在C:/WINDOWS/system32路径下的telnet.exe程序
如果想在任意目录下运行, 需要将C:/WINDOWS/system32配置到Path环境变量中
默认系统是配置好的, 如果没有修改过, 不用手动配置
2.设置回显
输入 telnet, 可以进入telnet.exe程序
输入 set ?, 显示设置帮助
输入 set localecho
输入 quit
3.使用
telnet ip 端口号
按 ctrl + ]
按 回车
三.文件上传
1.上传文件后输出结束信息
// while循环回在读到流末尾, 返回-1时结束.
// 如果客户端不关闭流, 那么读不到-1, 循环不结束
// 如果客户端关流, 那么就无法再读到后面的信息了
// 流不能关, 因为关了肯定不能再读
// 所以就要想个办法, 不关流, 但是需要结束while循环
// 服务端要判断文件上传完毕, 不能通过读取-1
// 客户端在上传文件之前, 先将文件大小传递过去
// 服务端在while循环中判断写出了多少字节, 如果写满文件大小, 那么就退出循环
2.断点续传
在服务器上判断要传的文件是否存在
如果存在, 那么客户端将文件长度发送到服务器
服务器比较文件长度, 如果文件长度和服务器上长度相等, 那说明已经传完了
如果不相等, 那么就需要断点续传
这时服务器可以将 原文件长度 - 服务器文件长度的值发送回客户端, 这个值就是还差多少没传
客户端跳过这么多字节, 从后面继续传
服务器将客户端传过来的字节追加到文件末尾
day22-笔记
最新推荐文章于 2024-07-25 15:17:04 发布