码迷,mamicode.com
首页 > 编程语言 > 详细

Java网络编程之UDP网络编程

时间:2020-01-17 23:19:57      阅读:81      评论:0      收藏:0      [点我收藏+]

标签:通信   ima   ESS   img   oid   通配符   byte   tin   构造   

一、UDP网络通信

1、类DatagramSocket和DatagramPacket实现了基于UDP协议网络程序。
2、UDP数据报通过数据报套接字DatagramSocket发送和接收,
系统不保证UDP数据报一定能够安全送到目的地,也不能确定什么时候可以抵达。
3、DatagramPacket对象封装了UDP数据报,在数据报中包含了发送端的IP地址
和端口号以及接收端的IP地址和端口号。
4、UDP协议中每个数据报都给出了完整的地址信息,因此无须建立发送方
和接收方的连接。如同发快递包裹一样。

二、DatagramSocket类的常用方法

1、public DatagramSocket(int port)创建数据报套接字并将其绑定到本地主机上的指定端口。
套接字将被绑定到通配符地址,IP 地址由内核来选择。
2、public DatagramSocket(int port,InetAddress laddr)创建数据报套接字,将其绑定到指定的本地地址。
本地端口必须在0到65535之间(包括两者)。如果IP地址为0.0.0.0,套接字将被绑定到通配符地址,IP 地址由内核选择。
3、public void close0)关闭此数据报套接字。
4、DatagramPacket 包含的信息指示:将要发送的数据、其长度、远程主机的IP地址和远程主机的端口号。
5、public InetAddress getlLocalddress()获取套接字绑定的本地地址。
6、public int getLocalPortQ)返回此套接字绑定的本地主机上的端口号。
7、public InetAddress getinetAddress()返回此套接字连接的地址。如果套接字未连接,则返回null.
8、public int getPort()返回此套接字的端口。如果套接字未连接,则返回-1。
9、public void send(DatagramPacket p)从此套接字发送数据报包。 

三、DatagramPacket类的常用方法

1、public DatagramPacket(byte[] buf,int length)构造DatagramPacket, 用来接收长度为length的数据包。
length 参数必须小于等于buf.length。
2、public DatagramPacket(byte[] buf,int length,InetAddress address,int port)构造数据报包,
用来将长度为length 的包发送到指定主机上的指定端口号。length参数必须小于等于buf.length。
3、public InetAddress getAddress()返回某台机器的IP地址,此数据报将要发往该机器或者是从该机器接收到的。
4、public int getPort()返回某 台远程主机的端口号,此数据报将要发往该主机或者是从该主机接收到的。
5、public byte[] getData()返回数据缓冲区。接收到的或将要发送的数据从缓冲区中的偏移量offset处开始,持续length长度。
6、public int getlength()返回将要发送或接收到的数据的长度。

(一)发送端

技术图片

(二)接收端

技术图片

Java网络编程之UDP网络编程

标签:通信   ima   ESS   img   oid   通配符   byte   tin   构造   

原文地址:https://www.cnblogs.com/ZengBlogs/p/12207403.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!