浅析Java网络编程之UDP传输(一)
2015-05-05 23:31
591 查看
网络传输方式一般有两种——TCP和UDP。本文用于简单了解一下UDP传输方式。
一、UDP有何特点?
1、面向无连接的;
2、面向报文的,且每一份报文不超过64KB;
3、不可靠但高效(不用建立连接);
4、支持一对一、一对多、多对一、多对多的交互通讯;
对于这些特点,没有什么为什么,事实而已啦!
二、在Java中怎么玩UDP?
在Java中,将建立UDP服务相关操作封装到了DatagramSocket类中,将数据报相关操作封装到了DatagramPacket类中。
三、具体玩的思路是什么?
UDP传输分为发送端和接收端。
发送端:
1、建立UDP服务;
2、指定数据,并将数据封装成数据报包;
3、将数据报包发送出去;
4、关闭服务资源。
接收端:
1、建立UDP服务,并监听某一个端口;
2、建立一个用于接收数据的数据包;
3、接收数据报包,并将数据包中的各种数据读取出来;
4、关闭资源。(可选)
四、把“驴”拉出来溜溜?
五、再随便谈点?
参考API文档,可以看到DatagramPacket类有6个构造方法,如下:
可以发现,凡是用于接收数据包的构造方法都不带地址和端口的参数,凡是用于发送数据包的构造方法都必须指定地址和端口。这也很好理解,接收的只需要存储即可,而发送的必须要知道目的地才能发送出去。
一、UDP有何特点?
1、面向无连接的;
2、面向报文的,且每一份报文不超过64KB;
3、不可靠但高效(不用建立连接);
4、支持一对一、一对多、多对一、多对多的交互通讯;
对于这些特点,没有什么为什么,事实而已啦!
二、在Java中怎么玩UDP?
在Java中,将建立UDP服务相关操作封装到了DatagramSocket类中,将数据报相关操作封装到了DatagramPacket类中。
三、具体玩的思路是什么?
UDP传输分为发送端和接收端。
发送端:
1、建立UDP服务;
2、指定数据,并将数据封装成数据报包;
3、将数据报包发送出去;
4、关闭服务资源。
接收端:
1、建立UDP服务,并监听某一个端口;
2、建立一个用于接收数据的数据包;
3、接收数据报包,并将数据包中的各种数据读取出来;
4、关闭资源。(可选)
四、把“驴”拉出来溜溜?
import java.net.*; class UdpSend { public static void main(String[] args) throws Exception { DatagramSocket ds = new DatagramSocket(); byte[] buf = "I am Kevin! Nice to meet you!".getBytes(); DatagramPacket dp = new DatagramPacket(buf, buf.length, InetAddress.getLocalHost(), 9090); ds.send(dp); ds.close(); } } class UdpRecv { public static void main(String[] args) throws Exception { DatagramSocket ds = new DatagramSocket(9090); byte[] buf = new byte[1024]; DatagramPacket dp = new DatagramPacket(buf, buf.length); ds.receive(dp); String ip = dp.getAddress().getHostAddress(); int port = dp.getPort(); String data = new String(dp.getData(), 0, dp.getLength()); System.out.println(ip + "--" + port + " : " + data); ds.close(); } }
五、再随便谈点?
参考API文档,可以看到DatagramPacket类有6个构造方法,如下:
可以发现,凡是用于接收数据包的构造方法都不带地址和端口的参数,凡是用于发送数据包的构造方法都必须指定地址和端口。这也很好理解,接收的只需要存储即可,而发送的必须要知道目的地才能发送出去。
相关文章推荐
- 浅析Java网络编程UDP
- java 网络编程 [网络传输] [协议] [UDP与TCP] [套接字] [URL与URI]
- JAVA基础 day25 网络编程 IP类 UDP,TCP传输学习 简易聊天工具 TCP并发学习
- java 网络编程二 UDP传输协议(例:2个进程进行聊天)
- java网络编程--udp传输示例
- 黑马程序员_java网络编程——UDP传输和TCP传输
- 黑马程序员——Java网络编程之UDP传输
- 黑马程序员_Java基础_网络编程_UDP传输协议编程,控制台聊天程序
- java 网络编程 基于TCP ,UDP的网络传输
- 黑马程序员--10.网络编程--02.【网络传输三要素在Java中的体现】【TCP和UDP概念】【Socket基本概念】
- 黑马程序员——java网络编程中的传输协议:UDP和TCP
- Lesson_for_java_day22--java的网络编程(IP、URL、UDP传输)
- Java学习日志(23-2-网络编程-UDP传输)
- UDP传输----java网络编程(1)
- java网络编程---udp
- Java 网络编程之 TCP/UDP
- java网络编程TCP传输—流操作—拿到源后的写入动作
- [学习笔记]Java网络编程之UDP通讯
- java笔记29 网络编程(UDP TCP)
- java基础--网络编程之UDP