如何通过Java进行网络编程?

原创 Bertha 。 2024-09-18 22:00 193阅读 0赞

在Java中,我们可以通过Java的Socket和ServerSocket类来进行网络编程。以下是一个简单的示例:

  1. 客户端代码(发送数据):
  1. import java.io.*;
  2. import java.net.*;
  3. public class Client {
  4. public static void main(String[] args) {
  5. try {
  6. // 创建连接
  7. Socket socket = new Socket("localhost", 1234);
  8. // 获取输出流
  9. OutputStream outputStream = socket.getOutputStream();
  10. // 发送数据
  11. String message = "Hello, Server!";
  12. byte[] bytes = message.getBytes("utf-8");
  13. outputStream.write(bytes);
  14. // 关闭连接
  15. socket.close();
  16. System.out.println("Data sent successfully!");
  17. } catch (IOException e) {
  18. e.printStackTrace();
  19. System.out.println("Error occurred while sending data.");
  20. }
  21. }
  22. }
  1. 服务器端代码(接收数据):
  1. import java.io.*;
  2. import java.net.*;
  3. public class Server {
  4. public static void main(String[] args) {
  5. try {
  6. // 创建服务器端的Socket
  7. ServerSocket serverSocket = new ServerSocket(1234);
  8. System.out.println("Server is listening for incoming connections...");
  9. // 等待客户端连接
  10. Socket clientSocket = serverSocket.accept();
  11. System.out.println("Client connected successfully!");
  12. // 获取输入流
  13. InputStream inputStream = clientSocket.getInputStream();
  14. // 创建输出流
  15. OutputStream outputStream = new PrintWriter(new BufferedOutputStream(inputStream), "utf-8"));
  16. byte[] bytes = new byte[1024];
  17. int count;
  18. while ((count = inputStream.read(bytes))) != -1) {
  19. String message = new String(bytes, 0, count));
  20. System.out.println("Server received data: " + message);
  21. // 将数据发送回客户端
  22. outputStream.write(message.getBytes("utf-8")));
  23. }
  24. // 关闭连接和流
  25. clientSocket.close();
  26. inputStream.close();
  27. outputStream.close();
  28. } catch (IOException e) {
  29. e.printStackTrace();
  30. System.out.println("Error occurred while listening or accepting connections.");
  31. }
  32. }
  33. }

这个示例中,客户端发送一个数据字符串给服务器,服务器接收到数据后将其原样返回给客户端。

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

发表评论

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

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

相关阅读