1、udp协议是一种不可靠的网络协议,它在通信的两端各建立一个socket对象,但是这两个socket只是发送,接收数据的对象
2、基于udp协议的通信双方而言,没有所谓的客户端和服务器端概念
java提供了datagramsocket类作为基于udp协议的socket
实例
package test; import java.io.bufferedreader;import java.io.inputstreamreader;import java.net.datagrampacket;import java.net.datagramsocket;import java.net.inetaddress; /** * udpclient deom * @author <dht925nerd@126.com> */public class udpclient { public static void main(string[] args) throws exception { datagramsocket clientsocket = new datagramsocket(); bufferedreader infromuser = new bufferedreader( new inputstreamreader(system.in) ); //获取本地 ip 地址 inetaddress ipaddress = inetaddress.getlocalhost(); byte[] senddata; byte[] receivedata = new byte[1024]; system.out.println(请输入一句英文,服务器会返回其大写形式(输入exit退出)); while (true) { string sentence = infromuser.readline(); if (sentence.equals(exit)) break; senddata = sentence.getbytes(); //创建发送数据报包,并标注源地址#,目的地址# datagrampacket sendpacket = new datagrampacket(senddata, senddata.length, ipaddress, 9876); //发送数据报包 clientsocket.send(sendpacket); //创建接收数据报包 datagrampacket receivepacket = new datagrampacket(receivedata, receivedata.length); //接收服务器的数据报包 clientsocket.receive(receivepacket); string modifiedsentence = new string(receivepacket.getdata()); system.out.println(from server: + modifiedsentence); } clientsocket.close(); }}
以上就是java udp通信的原理是什么的详细内容。