Java 基于UDP协议实现消息发送
发短信:不用连接,但需要知道对方的地址,客户端、服务端没有明确的界限,可以说没有客户端、服务端一说。
发送端
packagelesson03;
importjava.net.DatagramPacket;
importjava.net.DatagramSocket;
importjava.net.InetAddress;
/**
*发送端
*/
publicclassUdpClientDemo1{
publicstaticvoidmain(String[]args)throwsException{
//1、建立一个Socket
DatagramSocketsocket=newDatagramSocket();
/**
*2、建个包
*/
//需要发送的消息
Stringmsg="你好啊,服务器!";
//发送地址
InetAddresslocalhost=InetAddress.getByName("localhost");//主机
//发送端口
intport=9090;
/**
*五个参数:
*@parambufmsg.getBytes():需要发送的数据包
*@paramoffset0:数据偏移量
*@paramlengthmsg.getBytes().length:数据长度
*@paramaddresslocalhost:目标地址
*@paramportport:目标端口
*/
DatagramPacketpacket=newDatagramPacket(msg.getBytes(),0,msg.getBytes().length,localhost,port);
//3、发送包
socket.send(packet);
//4、关闭流
socket.close();
}
}
接收端
packagelesson03;
importjava.net.DatagramPacket;
importjava.net.DatagramSocket;
/**
*接收端
*/
publicclassUdpServerDemo1{
publicstaticvoidmain(String[]args)throwsException{
//开放端口
DatagramSocketsocket=newDatagramSocket(9090);
//接收数据包
byte[]buffer=newbyte[1024];
DatagramPacketpacket=newDatagramPacket(buffer,0,buffer.length);
//接收
socket.receive(packet);//阻塞接收
//输出数据包地址
System.out.println(packet.getAddress().getHostAddress());
/**
*输出数据包数据
*packet:Data类型
*通过构造器转成String类型:newString();
*/
System.out.println(newString(packet.getData(),0,packet.getLength()));
//关闭连接
socket.close();
}
}
以上就是Java基于UDP协议实现消息发送的详细内容,更多关于Java消息发送的资料请关注毛票票其它相关文章!