博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java学习——网络编程之UDP
阅读量:3942 次
发布时间:2019-05-24

本文共 1785 字,大约阅读时间需要 5 分钟。

Java学习——网络编程之UDP

UDP (User Datagram Protocol), 中文名是用户数据报协议,是OSI(Open SystemInterconnection,开放式系统互联) 参考模型中一种无连接的传输层协议。它是面向非连接的协议,它不与对方建立连接,而是直接就把数据包发送过去! UDP适用于一次只传送少量数据、对可靠性要求不高的应用环境。所以UDP效率高,不安全。

下面我们来看下UDP编程的代码:

接收方:

public class Reciver {    //接收方    public static void main(String[] args) throws IOException {        //1.开放一个端口        DatagramSocket socket = new DatagramSocket(9999);        //2.准备一个容器接收        byte[] bytes = new byte[100];        //3.等待接受包        DatagramPacket packet = new DatagramPacket(bytes,bytes.length);        System.out.println("等待发送方的消息。。。。。");        //4.循环接受消息,读取包中的消息        while (true){            //将消息接收到包中            socket.receive(packet);            //获取包中消息            byte[] data = packet.getData();            //解析包中数据            String s = new String(data, 0, packet.getLength());            System.out.println("对方向你发来消息:"+s);            if ("exit".equals(s)){                break;            }        }        //5.释放资源        socket.close();    }}

发送方:

public class Sender {    //发送方    public static void main(String[] args) throws IOException {        //1.指定端口        DatagramSocket socket = new DatagramSocket();        //2.指定对方ip地址        InetAddress address = InetAddress.getByName("127.0.0.1");        //3.准备数据,循环发送        while (true){            //录入发送的内容            Scanner scanner = new Scanner(System.in);            System.out.println("请输入你要发送的内容:");            String s = scanner.nextLine();            //数据打包,数据需要先转成字节类型            byte[] bytes = s.getBytes();            DatagramPacket packet = new DatagramPacket(bytes,bytes.length,address,9999);            //发送数据包            socket.send(packet);            if ("exit".equals(s)){                break;            }        }        //4.释放资源        socket.close();    }}

转载地址:http://qxiwi.baihongyu.com/

你可能感兴趣的文章
Linux(二)- Linux常用命令
查看>>
Linux(三)- Java开发环境搭建
查看>>
Linux(四)- Ubuntu安装Mysql
查看>>
Ubuntu安装开发环境
查看>>
Deepin开发环境安装
查看>>
Spring入门
查看>>
网址大全
查看>>
Git的使用
查看>>
Linux域名IP映射
查看>>
Java的反射机制
查看>>
SpringCloud微服务应用入门
查看>>
SpringCloud之session共享
查看>>
Springboot集成Shiro实现认证
查看>>
Spring、Spring MVC和MyBatis编程式集成示例
查看>>
在Springboot应用使用redis缓存
查看>>
Spring入门
查看>>
Idea提示键和热部署配置以及git使用
查看>>
Deepin+Vscode搭建vue.js项目及Git操作
查看>>
基于Spring Security前后端分离式项目解决方案
查看>>
Vue3.0+Vite2.0项目框架搭建(一)
查看>>