TCP和UDP

TCP 的特点:必须确定连接后才能发送接收信息。  有三次握手 一端发送消息 另一端接收消息  发送端确定接收
UDP 的特点:非面向连接,传输不可靠,可能丢失。 发送不管对方是否准备好,接收方收到也不确定。可以广播发送。 非常简单的协议,开销小。 数据不能太大,但是高效。不需要IO流实现数据的传输。

TCP的四次挥手
客户端 发送关闭请求给 服务器   客户端进入FINwait状态 终止等待状态
服务端接收到请求后 就给客服端发送信息告诉客户端我已经接到了    这时客户端进入finwait2状态
服务器端将所有数据发送完毕后就给客户端发送释放报文 这时服务器端进入finwait状态
客户端接收服务器端的消息后发送确认报文 客户端进入time-wait状态这时客户端的TCP连接还没释放,需等待2*最长报文时间段寿命后,客户端撤销对应的TCP后,进入closed状态,   服务器端直接进入closed状态.
当中的FINwait状态是一种半关闭状态 只能接受信息不能发送信息。

TCP的创建
服务端
创建服务器
1.指定端口 使用ServerSocket创建服务器
ServerSocket server = new ServerSocket(8888)
2.阻塞式等待连接accept
ServerSocket socket=server.accept();
3.操作:输入输出流操作
4.释放资源


客户端
创建客户端
1.建立连接 使用Socket创建客户端+服务的地址和端口
2.操作:输入输出流操作。
3.释放资源

 

UDP创建
发送端
使用datagramSocket指定端口 创建发送端
准备数据转成字节数组
封装成DatagramPacket包 ,需要指定目的地
发送包裹
释放资源

接收端
使用DatagramSocket 指定端口创建接收端
准备容器 封装成DatagramPacket包裹
阻塞式接收receive(DatagramPacket)
分析数据
释放资源

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值