Java网络编程:TCP和UDP通信实例
在Java中,我们可以通过java.net包来实现TCP和UDP的通信。这里我将提供两个基本的例子:
- TCP通信实例 (客户端发送数据到服务器)
```java
import java.io.OutputStream;
import java.net.Socket;
import java.util.Scanner;
public class TcpClient {
public static void main(String[] args) {
// 创建socket连接
Socket socket = new Socket(“localhost”, 1234); // 注意替换为你想要连接的服务器地址和端口号
// 创建输出流,用于发送数据
OutputStream outputStream = socket.getOutputStream();
// 用户输入数据
Scanner scanner = new Scanner(System.in);
System.out.println("请输入你要发送的数据:");
String inputData = scanner.nextLine();
// 将字符串转化为字节数组,然后写入输出流
byte[] dataBytes = inputData.getBytes();
outputStream.write(dataBytes);
// 关闭连接
socket.close();
}
}
2. **UDP通信实例** (两个设备之间进行无连接的广播通信)
```java
import java.net.DatagramSocket;
import java.net.InetAddress;
public class UdpBroadcast {
public static void main(String[] args) {
// 创建DatagramSocket,用于发送数据
DatagramSocket socket = new DatagramSocket();
// 设置广播地址和端口
InetAddress broadcastAddress = InetAddress.getByName("255.255.255"); // 任何网络上的广播地址
int portNumber = 1234; // 要发送数据的端口号
// 创建一个字节数组,用于存储要发送的数据
byte[] dataBytes = "Hello, UDP broadcast message!".getBytes();
// 将数据和地址信息封装成一个Datagram对象
DatagramPacket packet = new DatagramPacket(dataBytes, dataBytes.length), portNumber, broadcastAddress);
// 发送数据包
socket.send(packet);
// 关闭连接
socket.close();
}
}
以上两个例子分别是TCP客户端向服务器发送数据,以及UDP设备进行广播通信。在实际应用中,你需要根据具体需求修改代码。
还没有评论,来说两句吧...