Java网络编程:TCP连接与断开示例

原创 深碍√TFBOYSˉ_ 2024-12-13 04:42 104阅读 0赞

在Java中,我们可以使用java.net.Socket和java.net.ServerSocket来创建TCP连接。以下是建立连接和断开连接的示例:

  1. 客户端创建连接:
  1. import java.io.BufferedReader;
  2. import java.io.InputStreamReader;
  3. import java.net.Socket;
  4. public class TcpClient {
  5. public static void main(String[] args) {
  6. // 创建一个Socket对象
  7. Socket socket = new Socket("localhost", 1234); // 假设目标主机是localhost,端口是1234
  8. try (BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream())))) {
  9. // 获取输入流
  10. String inputLine;
  11. while ((inputLine = in.readLine()) != null) {
  12. System.out.println("收到的消息: " + inputLine);
  13. }
  14. } catch (Exception e) {
  15. e.printStackTrace();
  16. } finally {
  17. // 关闭连接
  18. try {
  19. socket.close();
  20. } catch (IOException ioe) {
  21. ioe.printStackTrace();
  22. }
  23. }
  24. }
  25. }
  1. 服务器端创建并监听连接:
  1. import java.io.*;
  2. import java.net.ServerSocket;
  3. import java.net.Socket;
  4. public class TcpServer {
  5. public static void main(String[] args) throws IOException {
  6. // 创建一个ServerSocket对象,用于监听客户端的连接请求
  7. ServerSocket serverSocket = new ServerSocket(1234); // 端口设置为1234
  8. try (Socket socket = serverSocket.accept(); BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream())))) {
  9. System.out.println("接受到新的连接");
  10. String inputLine;
  11. while ((inputLine = in.readLine()) != null) {
  12. System.out.println("收到的消息: " + inputLine);
  13. // 处理消息(这里简单地打印)
  14. in.mark(1024); // 设置标记,以便后续恢复读取位置
  15. }
  16. } catch (IOException ioe) {
  17. ioe.printStackTrace();
  18. System.exit(1);
  19. } finally {
  20. try {
  21. serverSocket.close();
  22. } catch (IOException e) {
  23. e.printStackTrace();
  24. }
  25. }
  26. }
  27. }

以上示例分别展示了客户端连接服务器并发送消息,以及服务器端接受并处理客户端消息的流程。

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

发表评论

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

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

相关阅读