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消息发送的资料请关注毛票票其它相关文章!