在Java中,可以使用java.io包中的类和java.net包中的类来实现网络通信。这里以一个简单的TCP/IP客户端-服务器示例来说明如何使用Java IO进行网络通信。
import java.io.*;
import java.net.*;
public class TCPServer {
public static void main(String[] args) {
int port = 12345; // 服务器监听的端口号
try (ServerSocket serverSocket = new ServerSocket(port)) {
System.out.println("服务器已启动,等待客户端连接...");
while (true) {
Socket socket = serverSocket.accept(); // 接受客户端连接
System.out.println("客户端已连接");
InputStream inputStream = socket.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
OutputStream outputStream = socket.getOutputStream();
PrintWriter writer = new PrintWriter(outputStream, true);
String message;
while ((message = reader.readLine()) != null) {
System.out.println("收到客户端消息: " + message);
writer.println("服务器已收到: " + message);
}
socket.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
import java.io.*;
import java.net.*;
public class TCPClient {
public static void main(String[] args) {
String host = "localhost"; // 服务器地址
int port = 12345; // 服务器监听的端口号
try (Socket socket = new Socket(host, port)) {
OutputStream outputStream = socket.getOutputStream();
PrintWriter writer = new PrintWriter(outputStream, true);
InputStream inputStream = socket.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
// 向服务器发送消息
writer.println("你好,服务器!");
// 接收服务器回复
String message;
while ((message = reader.readLine()) != null) {
System.out.println("收到服务器消息: " + message);
}
} catch (UnknownHostException e) {
System.out.println("无法找到服务器");
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
在这个示例中,我们使用TCP协议进行网络通信。服务器端使用ServerSocket类监听指定端口,等待客户端连接。当客户端连接时,服务器使用Socket类与客户端建立连接,并通过输入输出流进行数据交换。
客户端使用Socket类连接到服务器,并通过输入输出流进行数据交换。在这个示例中,客户端向服务器发送一条消息,然后接收服务器的回复。
注意:这个示例仅用于演示目的,实际应用中可能需要考虑更多的异常处理和资源管理。另外,还可以使用UDP协议进行网络通信,但这需要使用DatagramSocket和DatagramPacket类。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。