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套接字 负责传输数据

客户端

相关推荐
guodashen0071 小时前
在安卓端启动一个服务器接口,用于接收post请求的json数据
android·服务器·json
意疏1 小时前
openJiuwen实战:用AsyncCallbackFramework为Agent增强器添加可观测性
java·服务器·前端
野犬寒鸦2 小时前
面试常问:HTTP 1.0 VS HTTP 2.0 VS HTTP 3.0 的核心区别及底层实现逻辑
服务器·开发语言·网络·后端·面试
闫记康2 小时前
scp工具
linux·运维·服务器·学习·ssh·github
我命由我123452 小时前
Git 问题:Author identity unknown*** Please tell me who you are.
java·服务器·git·后端·学习·java-ee·学习方法
默|笙2 小时前
【Linux】库制作与原理(2)_ELF格式
linux·运维·服务器
青桔柠薯片2 小时前
Linux I/O多路复用:深入浅出poll与epoll
linux·运维·服务器·算法
软件资深者3 小时前
macOS Tahoe 26.3.1 ISO 虚拟机专用镜像:win系统/ESXi 服务器装苹果系统,改个后缀就能用
运维·服务器·macos·镜像·虚拟机
艾莉丝努力练剑3 小时前
【Linux进程间通信:共享内存】为什么共享内存的 key 值由用户设置
java·linux·运维·服务器·开发语言·数据库·mysql