Java 基于UDP协议实现消息发送

时间:2021-05-20

发短信:不用连接,但需要知道对方的地址,客户端、服务端没有明确的界限,可以说没有客户端、服务端一说。

发送端

package lesson03;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;/** * 发送端 */public class UdpClientDemo1 { public static void main(String[] args) throws Exception { //1、建立一个 Socket DatagramSocket socket = new DatagramSocket(); /** * 2、建个包 */ //需要发送的消息 String msg = "你好啊,服务器!"; //发送地址 InetAddress localhost = InetAddress.getByName("localhost"); //主机 //发送端口 int port = 9090; /** * 五个参数: * @param buf msg.getBytes():需要发送的数据包 * @param offset 0:数据偏移量 * @param length msg.getBytes().length:数据长度 * @param address localhost:目标地址 * @param port port:目标端口 */ DatagramPacket packet = new DatagramPacket(msg.getBytes(), 0, msg.getBytes().length, localhost, port); //3、发送包 socket.send(packet); //4、关闭流 socket.close(); }}

接收端

package lesson03;import java.net.DatagramPacket;import java.net.DatagramSocket;/** * 接收端 */public class UdpServerDemo1 { public static void main(String[] args) throws Exception { //开放端口 DatagramSocket socket = new DatagramSocket(9090); //接收数据包 byte[] buffer = new byte[1024]; DatagramPacket packet = new DatagramPacket(buffer, 0, buffer.length); //接收 socket.receive(packet); //阻塞接收 //输出数据包地址 System.out.println(packet.getAddress().getHostAddress()); /** * 输出数据包数据 * packet:Data 类型 * 通过构造器转成 String 类型:new String(); */ System.out.println(new String(packet.getData(), 0, packet.getLength())); //关闭连接 socket.close(); }}

以上就是Java 基于UDP协议实现消息发送的详细内容,更多关于Java 消息发送的资料请关注其它相关文章!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章