三分钟精通网络编程
协议: 规范 合同
udp :非面向连接的 写信 ,不安全,效率高,协议简单,开销小,大小有限制一般不超过60k
tcp :面向连接的 打电话 ,安全,效率低,开销大 3次握手:1.拨号 2.回访:响应 3.发送数据 ,基于IO穿出数据
应用层如何与传输层进行沟通?
通过Socket套接字
面向Socket编程,Socket相当于插座,是两层之间沟通的接口,不同协议,Socket的实现不一样
一:udp
udp如何实现Socket编程: 发送端和接收端是平等的
DatagramSocket 此类表示用来发送和接收数据报包的套接字
DatagramSocket(int port)
DatagramPacket 此类表示数据报包。
UDP基本流程:发送端
1.创建发送端,指明发送端的端口
2.准备数据,转为字节数组
3.把数据打包 指明接收端的地址和端口号 DatagramPacket
4.发送数据
5.关闭
UDP基本流程:接收端
1.构建接受端,指定接受端端口
2.准备字节数组,用来存储接口收据的
3.把字节数组打包
4.阻塞式接收
5.处理数据
6.关闭
二:tcp
tcp基本流程:服务端
1.构建服务端 ServerSocket 指定端口 ServerSocket(int port)
2.阻塞式监听 Socket accept()
3.一个客户端就是一个socket IO操作
4.关闭
tcp基本流程:客户端
1.创建客户端 Socket 指定服务端的ip和端口 Socket(String host, int port)
2.io操作
3.关闭