c语言sscanf函数的用法是什么
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小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~