Java 基于UDP协议实现消息发送
程序员文章站
2022-06-26 12:22:43
发短信:不用连接,但需要知道对方的地址,客户端、服务端没有明确的界限,可以说没有客户端、服务端一说。发送端package lesson03;import java.net.datagrampacket...
发短信:不用连接,但需要知道对方的地址,客户端、服务端没有明确的界限,可以说没有客户端、服务端一说。
发送端
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 消息发送的资料请关注其它相关文章!