使用Java进行网络编程:Socket通信示例

原创 阳光穿透心脏的1/2处 2024-11-28 17:36 139阅读 0赞

在Java中,我们可以使用Socket类来进行网络通信。以下是一个简单的Socket通信示例:

  1. 创建服务器端(Server)
  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(8000)); {
  7. System.out.println("Server is running on port 8000...");
  8. Socket clientSocket = serverSocket.accept();
  9. System.out.println("New connection established with " + clientSocket);
  10. // 这里可以编写处理客户端数据的代码
  11. DataHandler handler = new DataHandler(clientSocket);
  12. while (true) {
  13. String dataFromClient = handler.readData();
  14. if (dataFromClient != null) {
  15. System.out.println("Received from client: " + dataFromClient);
  16. // 这里可以编写发送数据到客户端的代码
  17. handler.writeData(dataFromClient);
  18. } else {
  19. break; // 数据已读完,跳出循环
  20. }
  21. }
  22. clientSocket.close();
  23. } catch (IOException e) {
  24. System.out.println("An error occurred while establishing connection: " + e.getMessage());
  25. e.printStackTrace();
  26. }
  27. }
  28. }
  1. 创建客户端端(Client)
  1. import java.io.*;
  2. import java.net.Socket;
  3. public class Client {
  4. public static void main(String[] args) {
  5. try (Socket socket = new Socket("localhost", 8000)); {
  6. System.out.println("Connecting to server...");
  7. OutputStream outputStream = socket.getOutputStream();
  8. DataGenerator generator = new DataGenerator(outputStream);
  9. // 这里可以编写发送数据到服务器的代码
  10. generator.sendData("Hello, Server!");
  11. BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()))));
  12. String responseFromServer = reader.readLine();
  13. System.out.println("Received from server: " + responseFromServer));
  14. socket.close();
  15. } catch (IOException e) {
  16. System.out.println("An error occurred while establishing connection to the server: " + e.getMessage());
  17. e.printStackTrace();
  18. }
  19. }
  20. }

这个示例中,服务器端(Server)创建一个监听8000端口的Socket。客户端端(Client)连接到服务器,并发送一条数据,然后接收并打印服务器返回的数据。

请注意,实际应用中可能需要对数据进行加密和解密等操作。

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

发表评论

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

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

相关阅读

    相关 使用网络编程进行 socket 通信

    > 如果您觉得本博客的内容对您有所帮助或启发,请关注我的博客,以便第一时间获取最新技术文章和教程。同时,也欢迎您在评论区留言,分享想法和建议。谢谢支持! 一、网络编程和so