Java Socket编程是一种网络编程方法,用于在客户端和服务器端之间建立连接,并进行数据传输。在Java中,可以使用Socket和ServerSocket类实现Socket编程。客户端使用Socket类创建连接,服务器端使用ServerSocket类监听连接请求。在本篇文章中,我们将为你提供 “Java Socket编程服务器响应客户端实例代码”的完整攻略,包括以下内容:
- 创建服务器端程序
- 创建客户端程序
- 编写实例代码
以下是一些示例代码,以帮助你更好地理解Socket编程过程:
创建服务器端程序
import java.io.*;
import java.net.*;
public class Server {
public static void main(String args[]) throws Exception {
ServerSocket server = new ServerSocket(9999);
Socket client = server.accept();
BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));
DataOutputStream out = new DataOutputStream(client.getOutputStream());
String clientMessage = in.readLine();
System.out.println("客户端发送的信息是:" + clientMessage);
out.writeBytes("你好,客户端");
in.close();
out.close();
client.close();
server.close();
}
}
在上述代码中,我们使用ServerSocket类创建一个服务器端,并等待客户端的连接。如果客户端连接成功,我们将创建一个输入流和一个输出流,用于与客户端通信。在这种情况下,我们使用BufferedReader来读取客户端发送的消息,使用DataOutputStream来向客户端发送响应信息。
创建客户端程序
import java.io.*;
import java.net.*;
public class Client {
public static void main(String args[]) throws Exception {
Socket client = new Socket("localhost", 9999);
BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));
DataOutputStream out = new DataOutputStream(client.getOutputStream());
out.writeBytes("你好,服务器端");
String serverMessage = in.readLine();
System.out.println("服务器端发送的信息是:" + serverMessage);
in.close();
out.close();
client.close();
}
}
在上述代码中,我们使用Socket类创建一个客户端,并连接到服务器端。我们创建了一个输入流和一个输出流,用于与服务器端通信。在这种情况下,我们使用DataOutputStream将“你好,服务器端”发送到服务器端,然后使用BufferedReader读取服务器端的响应消息。
编写实例代码
在本节中,我们将结合以上示例程序,编写一个完整的Socket编程实例代码。以下是完整代码:
服务器端代码
import java.io.*;
import java.net.*;
public class Server {
public static void main(String args[]) throws Exception {
ServerSocket server = new ServerSocket(9999);
System.out.println("服务器已经启动,正在等待客户端连接......");
Socket client = server.accept();
System.out.println("已连接客户端地址:" + client.getInetAddress());
BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));
DataOutputStream out = new DataOutputStream(client.getOutputStream());
String clientMessage = in.readLine();
System.out.println("客户端发送的消息是:" + clientMessage);
out.writeBytes("你好,客户端");
in.close();
out.close();
client.close();
server.close();
}
}
客户端代码
import java.io.*;
import java.net.*;
public class Client {
public static void main(String args[]) throws Exception {
Socket client = new Socket("localhost", 9999);
System.out.println("客户端已经连接到服务器端......");
BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));
DataOutputStream out = new DataOutputStream(client.getOutputStream());
out.writeBytes("你好,服务器端");
String serverMessage = in.readLine();
System.out.println("服务器端的响应消息是:" + serverMessage);
in.close();
out.close();
client.close();
}
}
在结束上述实例代码运行后,首先运行服务器端程序。在控制台窗口中,将看到“服务器已经启动,正在等待客户端连接......”的消息。接着,运行客户端程序,在控制台窗口中将看到“客户端已经连接到服务器端......”的消息。客户端程序会向服务器端发送一条消息,以测试与服务器端的通信是否正常。最后,服务器端会接收到该消息并返回一条响应消息。客户端程序将显示服务器端发送的响应消息。这表明客户端成功地与服务器端进行了通信。
以上是Java Socket编程服务器响应客户端实例代码的完整攻略,包括创建服务器端程序、创建客户端程序和编写实例代码的步骤。通过本文所提供的示例代码,你将了解如何在Java中使用Socket实现客户端和服务器端之间的通信。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java Socket编程服务器响应客户端实例代码 - Python技术站