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

客户端

相关推荐
keyipatience1 小时前
线程栈与TLS和线程互斥
java·linux·服务器·开发语言·ubuntu
星夜夏空992 小时前
网络编程(1)
服务器·网络
川石课堂软件测试2 小时前
安全测试|常见SQL注入攻击方式、实例及预防
服务器·数据库·sql·功能测试·测试工具·安全·单元测试
就不掉头发5 小时前
计算机的虚拟内存
linux·服务器·windows
暴力求解6 小时前
Linux ---线程控制(二)
linux·运维·服务器·操作系统
smartvxworks6 小时前
Linux 实时内核(Linux Real-Time Kernel)详解:原理、实践与优化
java·linux·服务器
梦痕长情6 小时前
等保三级三权账户
linux·运维·服务器
wuqingshun3141597 小时前
说说TCP的3次握手?为什么需要三次握手?
服务器·网络协议·tcp/ip
CHANG_THE_WORLD7 小时前
1.简单的服务端和客户端(仅作为内容补充)
linux·服务器·网络
CodexDave8 小时前
数据库连接池耗尽:排查顺序与三层兜底
服务器·前端·数据库·git·云原生·容器·kubernetes