21、使用UDP协议编写一个网络程序,设置接收端程序监听端口为8001,发送端发送的数据是“hello world”。
提示:
1)使用new DatagramSocket(8001)构造方法创建接收端的DatagramSocket对象,调用receive()方法接收数据。
2)发送端和接收端使用DatagramPacket封装数据,在创建发送端的DatagramPacket对象时需要指定目标IP地址和端口号,端口号要和接收端监听的端口号一致。
3)发送端使用send()方法发送数据。
4)使用close()方法释放Socket资源。
提示:
1)使用new DatagramSocket(8001)构造方法创建接收端的DatagramSocket对象,调用receive()方法接收数据。
2)发送端和接收端使用DatagramPacket封装数据,在创建发送端的DatagramPacket对象时需要指定目标IP地址和端口号,端口号要和接收端监听的端口号一致。
3)发送端使用send()方法发送数据。
4)使用close()方法释放Socket资源。
接收端:
import java.net.*;
public class Test02 {
public static void main(String[] args) throws Exception {
byte[] buf = new byte[1024];
DatagramSocket ds = new DatagramSocket(8001);
DatagramPacket dp = new DatagramPacket(buf, 1024);
ds.receive(dp);
String str = new String(dp.getData(),0, dp.getLength());
System.out.println(str);
ds.close();
}
}
发送端
import java.net.*;
public class Test03 {
public static void main(String[] args) throws Exception {
DatagramSocket ds = new DatagramSocket(3000);
String str = "hello world";
DatagramPacket dp = new DatagramPacket(str.getBytes(), str.length(),
InetAddress.getByName("localhost"), 8001);
ds.send(dp);
ds.close();
}
}