共计 1263 个字符,预计需要花费 4 分钟才能阅读完成。
下面是一个简单的使用 Java 编写的 QQ 聊天程序的代码示例:
import java.io.*;
import java.net.*;
public class QQChatClient {
private Socket socket;
private BufferedReader reader;
private PrintWriter writer;
public QQChatClient(String host, int port) {
try {// 连接 服务器
socket = new Socket(host, port);
System.out.println("成功连接到服务器");
// 创建输入输出流
reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
writer = new PrintWriter(socket.getOutputStream(), true);
// 启动接收消息线程
new Thread(new MessageReceiver()).start();
// 读取用户输入并发送消息
BufferedReader userInputReader = new BufferedReader(new InputStreamReader(System.in));
String userInput;
while ((userInput = userInputReader.readLine()) != null) {writer.println(userInput);
}
} catch (IOException e) {e.printStackTrace();
} finally {
try {if (socket != null) {socket.close();
}
if (reader != null) {reader.close();
}
if (writer != null) {writer.close();
}
} catch (IOException e) {e.printStackTrace();
}
}
}
public static void main(String[] args) {QQChatClient chatClient = new QQChatClient("localhost", 8888);
}
class MessageReceiver implements Runnable {
@Override
public void run() {
try {
String message;
while ((message = reader.readLine()) != null) {System.out.println("收到消息:" + message);
}
} catch (IOException e) {e.printStackTrace();
}
}
}
}
该程序使用 Socket 连接到指定的服务器和端口,然后创建输入输出流进行消息的发送和接收。在主线程中,通过读取用户的输入并发送到服务器。另外,在单独的线程中,通过不断地读取输入流来接收服务器发送的消息,并在控制台进行输出。
丸趣 TV 网 – 提供最优质的资源集合!
正文完