TCP和UDP协议

(了解)UDP:无连接通信协议

不需要服务器端确认

发送端发送数据至于接收端收没收到不会管,接收不到就拉倒

发送端只负责发 接收端只负责接收

直播,视频通话(卡帧1,2s不影响),因为不会对接收结果产生太大影响

TCP:传输控制协议

TCP协议是面向连接的通信协议,即传输数据之前,在发送端和接收端建立连接,然后再传输数据,它提供了两台计算机之间可靠的、无差错的数据传输。在TCP连接中,将计算机明确划分为客户端与服务器端,并且由客户端向服务端发出连接请求,每次连接的创建都需要经过"三次握手"的过程,四次挥手断开连接。数据要准确无误发送给服务器

1.非受检异常(运行时异常):编译期间不受检验,发现不了异常,,只有当程序运行时才会出现异常

int a=10/0

2.受检异常:编译时必须要处理异常,必须去处理,可以利用try-catch捕获,也可以利用抛出,抛给方法的调用者

最终能抛给JVM默认会对异常进行统一处理

本机地址(本设备):127.0.0.1

服务器端

1.创建服务器对象,提供端口号

输出服务器创建成功,等待客户端连接

2.接受客户端请求

accept接收客户端发送的数据 如果这时客户端没发送数据 那么这行代码就会阻塞

输出客户端连接成功

3.服务器接收客户端数据利用输入流

客户端给服务器端发送数据利用输出流

Inputstream.read会发现传入参数是byte类型

转换流:字节流-->字符流

InputstreamReader.read传入的是char类型

缓冲流

BufferedReader针对字符流输入的缓冲流

BufferedInputStream针对字节流输入的缓冲流

首先 创建字节流

然后 字节流转换成字符流

其次 字符流可以被缓冲流包含

最终 一段字符会由于缓冲流的作用被输入

还可以通过readLine方法直接读一行

可以简化这三段语句

4.最后关闭流---从下往上 关闭流

客户端和服务器进行通信中间有一个管道 就是Socket套接字 负责传输数据

客户端

相关推荐
Madison-No75 小时前
搭建项目测试环境
linux·运维·服务器·python
悠悠121387 小时前
微服务通信别只看性能:REST 与 gRPC 的 6 个选型判断和一次 502 故障复盘
运维·服务器
云老大-阿里云国际站代理商8 小时前
华为云国际站服务代理商:NAT网关怎么配?多台ECS共用公网IP要注意什么
服务器·华为云·云计算
浅念-11 小时前
Redis基础详解:单线程模型、String与Hash数据结构
服务器·数据库·redis·sql·mysql·nosql数据库·nosql
Shadow(⊙o⊙)11 小时前
Linux进阶知识1.0
linux·运维·服务器
剑指offer.12 小时前
ARM裸机开发-点亮LED灯
linux·服务器·嵌入式硬件
Wang's Blog12 小时前
Java 接入Redis: 使用Jedis操作Redis
java·服务器·redis
Ivanqhz13 小时前
数据搬运是性能关键
java·服务器·网络·人工智能·深度学习
其实防守也摸鱼13 小时前
常见安全架构中 Shiro 的认证确认机制解析
运维·服务器·数据库·windows·github
Julien200413 小时前
自动挂载网络附加存储
linux·服务器·网络