21xrx.com
2025-03-31 01:53:38 Monday
文章检索 我的文章 写文章
用Java编写简单的QQ聊天工具
2023-06-15 14:06:45 深夜i     7     0

在今天的数字化时代,人们更加注重实时通讯。 QQ是一种广泛使用的聊天工具,可以让我们与世界各地的人进行沟通。但是,不是所有人都能访问QQ或在他们的电脑上运行它。因此,本文将介绍如何使用Java编写简单的QQ聊天工具。

代码案例:

首先,我们需要使用Java编写一个服务器程序。以下是服务器代码的基本结构:

import java.net.*;
import java.io.*;
public class Server {
  public static void main(String [] args) {
   int port = 8080;
   try {
     ServerSocket serverSocket = new ServerSocket(port);
     Socket clientSocket = serverSocket.accept();
     PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);
     BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
     String inputLine;
     while ((inputLine = in.readLine()) != null) {
      out.println(inputLine);
     }
     in.close();
     out.close();
     clientSocket.close();
     serverSocket.close();
   } catch (IOException e) {
     System.out.println("Exception caught when trying to listen on port " + port + " or listening for a connection");
     System.out.println(e.getMessage());
   }
  }
}

接下来,我们需要编写一个客户端程序,用于连接到服务器并发送信息。以下是客户端代码的基本结构:

import java.net.*;
import java.io.*;
public class Client {
  public static void main(String [] args) {
   String serverHostname = "127.0.0.1";
   int port = 8080;
   try (
     Socket socket = new Socket(serverHostname, port);
     PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
     BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
   ) {
     BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in));
     String userInput;
     while ((userInput = stdIn.readLine()) != null) {
      out.println(userInput);
      System.out.println("echo: " + in.readLine());
     }
     stdIn.close();
     socket.close();
   } catch (UnknownHostException e) {
     System.err.println("Don't know about host " + serverHostname);
     System.exit(1);
   } catch (IOException e) {
     System.err.println("Couldn't get I/O for the connection to " + serverHostname);
     System.exit(1);
   }
  }
}

在这里,客户端连接到服务器并发送消息,服务器将该消息发送回来作为响应。

keywords: Java,QQ聊天,简单实现

  
  

评论区