编写基于UDP的网络应用程序 (1)调试案例1:熟悉InetAddress类的使用 (2)调试案例2:掌握UDP编程的发送端与接收端的编程基础 【要求】 (1)在接收端输出本地IP地址,输出发送端的IP址和接收到的数据; (2)调试要求:同一个团队中每2人为一组,一名同学运行接收端程序,另一名同学运行发送端程序,并将l两人的运行结果汇总到一起提交。用Java程序编写
时间: 2024-03-12 20:43:35 浏览: 12
好的,下面是基于UDP的网络应用程序示例代码:
发送端代码:
```
import java.io.IOException;
import java.net.*;
public class UDPSender {
public static void main(String[] args) throws IOException {
byte[] data = "Hello, World!".getBytes();
InetAddress address = InetAddress.getByName("localhost");
int port = 8888;
DatagramSocket socket = new DatagramSocket();
DatagramPacket packet = new DatagramPacket(data, data.length, address, port);
socket.send(packet);
socket.close();
}
}
```
接收端代码:
```
import java.io.IOException;
import java.net.*;
public class UDPReceiver {
public static void main(String[] args) throws IOException {
int port = 8888;
DatagramSocket socket = new DatagramSocket(port);
byte[] buffer = new byte[1024];
DatagramPacket packet = new DatagramPacket(buffer, buffer.length);
socket.receive(packet);
InetAddress address = packet.getAddress();
int port2 = packet.getPort();
byte[] data = packet.getData();
String message = new String(data, 0, packet.getLength());
System.out.println("Local IP address: " + InetAddress.getLocalHost().getHostAddress());
System.out.println("Sender IP address: " + address.getHostAddress());
System.out.println("Received data: " + message);
socket.close();
}
}
```
运行方式:
1. 将发送端代码复制到一台计算机上,将接收端代码复制到另一台计算机上。
2. 运行接收端代码,记下输出的本地IP地址。
3. 运行发送端代码,在终端中输入发送的消息。
4. 观察接收端终端输出,确认已收到消息,并输出了发送端IP地址和消息内容。
注意:两台计算机需要在同一个局域网内,或者使用公网IP地址进行通信。此外,如果使用虚拟机进行测试,需要将虚拟机网络设置为桥接模式。