欢迎继续学习Java高级篇!在前面的章节中,我们已经探讨了序列化的相关内容。接下来,我们将深入了解Java中的网络编程,特别是使用Socket进行通信的技术。网络编程是Java应用开发中的重要组成部分,它使得不同系统之间可以通过网络进行数据传输和通信。通过学习网络编程的基础知识和实际应用,你将能够开发出具备联网功能的应用程序。
网络编程的基本概念
网络编程涉及计算机通过网络进行通信。在Java中,‘java.net‘包提供了用于网络编程的类,其中最重要的是‘Socket‘和‘ServerSocket‘类。Socket是一种在网络中两个节点之间进行通信的端点,通过Socket可以实现客户端和服务器之间的数据交换。
使用Socket进行简单通信
让我们从一个简单的客户端-服务器通信示例开始。服务器将监听特定的端口,等待客户端的连接。一旦连接建立,服务器和客户端可以通过Socket发送和接收数据。
服务器端代码
import java.io.*;
import java.net.*;
public class SimpleServer {
public static void main(String[] args) {
try (ServerSocket serverSocket = new ServerSocket(6666)) {
System.out.println("Server is listening on port 6666");
Socket socket = serverSocket.accept();
System.out.println("Client connected");
BufferedReader input = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter output = new PrintWriter(socket.getOutputStream(), true);
String message = input.readLine();
System.out.println("Received from client: " + message);
output.println("Hello Client!");
socket.close();
}
catch (IOException e) {
e.printStackTrace();
}
}
}
客户端代码
import java.io.*;
import java.net.*;
public class SimpleClient {
public static void main(String[] args) {
try (Socket socket = new Socket("localhost", 6666)) {
PrintWriter output = new PrintWriter(socket.getOutputStream(), true);
BufferedReader input = new BufferedReader(new InputStreamReader(socket.getInputStream()));
output.println("Hello Server!");
String response = input.readLine();
System.out.println("Receiv

最低0.47元/天 解锁文章
1012

被折叠的 条评论
为什么被折叠?



