import ohos.net.DatagramPacket;
import ohos.net.DatagramSocket;
import ohos.net.SocketException;
import ohos.net.SocketAddress;
import ohos.net.Inet4Address;
import java.io.IOException;
public class DatagramSocketExample {
public static void main(String[] args) {
try {
// 创建DatagramSocket对象
DatagramSocket socket = new DatagramSocket();
// 设置本地端口(可选)
socket.bind(new SocketAddress(new Inet4Address("0.0.0.0"), 8888));
// 设置远程主机地址和端口
SocketAddress remoteAddress = new SocketAddress(new Inet4Address("192.168.0.1"), 8080);
// 发送数据
byte[] sendData = "Hello, UDP!".getBytes();
DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, remoteAddress);
socket.send(sendPacket);
// 接收数据
byte[] receiveData = new byte[1024];
DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
socket.receive(receivePacket);
// 处理接收到的数据
String receivedData = new String(receivePacket.getData(), 0, receivePacket.getLength());
System.out.println("Received: " + receivedData);
// 关闭DatagramSocket
socket.close();
} catch (SocketException | IOException e) {
e.printStackTrace();
}
}
}
在这个例子中,首先创建了一个 DatagramSocket 对象,并通过 bind 方法设置了本地端口(这是可选的,如果不设置系统会自动分配一个空闲端口)。然后,设置了远程主机的地址和端口,并通过 send 方法发送数据报。接着,通过 receive 方法接收数据报,最后处理接收到的数据。
请注意,以上代码仅为示例,实际使用时需要根据具体需求进行适当的修改。同时,需要确保在鸿蒙OS的开发环境中使用的 API 版本和库版本与代码相匹配。
转载请注明出处:http://www.zyzy.cn/article/detail/2817/鸿蒙OS