网络编程:JavaSocket和ServerSocket问题案例

原创 分手后的思念是犯贱 2024-12-05 22:03 72阅读 0赞

在Java编程中,Socket(客户端)和ServerSocket(服务器端)是实现网络通信的重要类。下面是一个关于这两类的问题案例:

问题描述:
编写一个简单的Java服务端程序,该程序接受来自客户端的文本消息,并将接收到的消息原样回送给客户端。

代码示例(客户端):

  1. import java.io.BufferedReader;
  2. import java.io.InputStreamReader;
  3. import java.net.Socket;
  4. public class Client {
  5. public static void main(String[] args) {
  6. try (Socket socket = new Socket("localhost", 1234)); // Connect to server
  7. BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()))); // Read from server
  8. System.out.println("Enter your message:"); // Prompt user
  9. String userInput = in.readLine(); // Get user input
  10. System.out.println("Message received from server: " + userInput); // Display received message
  11. socket.close(); // Close connection
  12. }
  13. }

代码示例(服务端):

  1. import java.io.*;
  2. import java.net.ServerSocket;
  3. import java.net.Socket;
  4. public class Server {
  5. public static void main(String[] args) {
  6. try (ServerSocket serverSocket = new ServerSocket(1234)); // Listen for incoming connections
  7. while (true) { // Keep listening until stopped
  8. Socket clientSocket = serverSocket.accept(); // Accept a connection
  9. BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()))); // Read from the client
  10. System.out.println("Received message: " + in.readLine()); // Display received message to console
  11. // Send reply back to client
  12. String replyMessage = "Your message has been received!";
  13. BufferedWriter out = new BufferedWriter(new OutputStreamWriter(clientSocket.getOutputStream())));
  14. out.write(replyMessage);
  15. out.close();
  16. // Close connection with client
  17. clientSocket.close();
  18. }
  19. }
  20. }

以上两段代码分别实现了客户端和服务器端。客户端发送消息给服务端,服务端接收到消息后原样返回给客户端。

文章版权声明:注明蒲公英云原创文章,转载或复制请以超链接形式并注明出处。

发表评论

表情:
评论列表 (有 0 条评论,72人围观)

还没有评论,来说两句吧...

相关阅读