当前位置:   article > 正文

TCP协议简单总结

TCP协议简单总结

TCP:传输控制协议

  • 特点:面向连接、可靠通信

  • TCP的最终目的:要保证在不可靠的信道上实现可靠的传输

  • TCP主要有三个步骤实现可靠传输:三次握手建立连接,传输数据进行确认,四次挥手断开连接

    • 三次握手建立可靠连接。

    • 建立连接后会建立可靠的通信管道

    • 四次握手断开连接

TCP通信之客户端开发

客户端发送信息:

  1. import java.io.*;
  2. import java.net.*;
  3. public class TCPClient {
  4. public static void main(String[] args) {
  5. final String serverAddress = "127.0.0.1"; // 服务器地址
  6. final int serverPort = 8080; // 服务器端口
  7. try {
  8. // 连接到服务器
  9. Socket socket = new Socket(serverAddress, serverPort);
  10. System.out.println("Connected to server.");
  11. // 发送消息到服务器
  12. sendMessage(socket, "Hello, Server!");
  13. // 接收服务器的响应
  14. String response = receiveMessage(socket);
  15. System.out.println("Response from server: " + response);
  16. // 关闭连接
  17. socket.close();
  18. } catch (IOException e) {
  19. e.printStackTrace();
  20. }
  21. }
  22. private static void sendMessage(Socket socket, String message) throws IOException {
  23. PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
  24. out.println(message);
  25. }
  26. private static String receiveMessage(Socket socket) throws IOException {
  27. BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
  28. return in.readLine();
  29. }
  30. }

TCP通信之服务端开发

 

 服务端接收信息

  1. import java.io.*;
  2. import java.net.*;
  3. public class TCPExample {
  4. public static void main(String[] args) {
  5. final int PORT = 8080;
  6. try {
  7. // 启动服务器
  8. ServerSocket serverSocket = new ServerSocket(PORT);
  9. System.out.println("Server started. Waiting for connections...");
  10. // 等待客户端连接
  11. Socket clientSocket = serverSocket.accept();
  12. System.out.println("Client connected: " + clientSocket);
  13. // 处理客户端请求
  14. handleClient(clientSocket);
  15. // 关闭服务器
  16. serverSocket.close();
  17. } catch (IOException e) {
  18. e.printStackTrace();
  19. }
  20. }
  21. public static void handleClient(Socket clientSocket) {
  22. try {
  23. // 接收客户端消息
  24. BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
  25. String message = in.readLine();
  26. System.out.println("Received message from client: " + message);
  27. // 向客户端发送响应
  28. PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);
  29. out.println("Hello, Client!");
  30. // 关闭连接
  31. clientSocket.close();
  32. } catch (IOException e) {
  33. e.printStackTrace();
  34. }
  35. }
  36. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/435046
推荐阅读
相关标签
  

闽ICP备14008679号