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

网友投稿 210 2023-02-20

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

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

发送端

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:目标端口

GAxpPCld */

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

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:JavaWeb入门教程之分页查询功能的简单实现
下一篇:gradle项目中资源文件的相对路径打包技巧必看
相关文章

 发表评论

暂时没有评论,来抢沙发吧~