Java笔记网络编程-socket编程(UDP连接)

一.简述

  1. UDP传输:UDP是User Datagram Protocol的简称,中文名是用户数据报协议,是OSI参考模型中的传输层协议,它是一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。
  2. UDP和TCP对比
UDPTCP
将数据源和目的封装成数据报中,不需要建立连接建立连接,形成传输数据的通道
每个数据报的大小在限制在64k在连接中进行大数据量传输
因无需连接,是不可靠协议通过三次握手完成连接,是可靠协议
不需要连接,速度快必须建立连接,效率会稍低

二.编程步骤

  1. DatagramSocket与DatagramPacket建立发送端和接收端
  2. 建立发送包,调用Socket的发送接收方法
  3. 关闭Socket
  4. 发送端与接收端是两个独立的程序

三.简单实例

接收端

import java.io.*;
import java.net.*;

public class Main_10_26_server {
    public static void main(String[] args) throws IOException {

        //1、 构件服务端 +端口
        DatagramSocket server=new DatagramSocket(8888);
        //2、封装成包 DatagramPacket(byte[] buf,int lenth)  相当于构建接受池
        byte[] container=new byte[1024];
        DatagramPacket datagramPacket=new DatagramPacket(container, container.length);
        //接收客户端发来的数据
        server.receive(datagramPacket);
        //获取接收到的数据
        byte [] data=datagramPacket.getData();
        //获取接收到的数据的长度
        int len=datagramPacket.getLength();
        //输出相关的信息
        System.out.println(new String(data,0,len));
        //关闭接收流
        server.close();

    }

}

发送端

import java.io.*;
import java.net.*;

public class Main_10_26_client {
    public static void main(String[] args) throws IOException {

        DatagramSocket datagramSocket=new DatagramSocket(9999);//创建udp套接字
        String meString="连接成功";
        byte[] bs=meString.getBytes();
        DatagramPacket datagramPacket=new DatagramPacket(bs, bs.length,new InetSocketAddress("localhost",8888));
        datagramSocket.send(datagramPacket);
        datagramSocket.close();

    }

}

运行结果:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值