java socket 聊天室:实现一个基于 Java Socket 的多人聊天室

Java Socket 聊天室是一种利用 Java Socket 编程实现的多人聊天系统。它可以实现多个客户端之间的实时通信,允许用户在线聊天、发送文件和图片等功能。

Java Socket 聊天室是一种利用 Java Socket 编程实现的多人聊天系统。它可以实现多个客户端之间的实时通信,允许用户在线聊天、发送文件和图片等功能。

Java Socket 聊天室是一种利用 Java Socket 编程实现的多人聊天系统。它可以实现多个客户端之间的实时通信,允许用户在线聊天、发送文件和图片等功能。

是一段简单的 Java Socket 聊天室代码:

Server.java

import java.io.*;

import java.net.*;

import java.util.*;

public class Server {

// 定义保存所有Socket的ArrayList

public static ArrayList socketList = new ArrayList();

public static void main(String[] args) throws IOException {

ServerSocket server = new ServerSocket(30000);

while (true) {

// 此行代阻塞,将一直等待别人的连接

Socket socket = server.accept();

// 把客户端放入socketList中

socketList.add(socket);

// 每当客户端连接后启动一条ServerThread线程为该客户端服务

new Thread(new ServerThread(socket)).start();

}

}

}

ServerThread.java

import java.io.*;

import java.net.*;

import java.util.*;

public class ServerThread implements Runnable {

// 定义当前线程所处理的Socket

Socket s = null;

// 该线程所处理的Socket对应的输入流

BufferedReader br = null;

public ServerThread(Socket s) throws IOException {

this.s = s;

// 初始化该Socket对应的输入流

br = new BufferedReader(new InputStreamReader(s.getInputStream()));

}

@Override

public void run() {

try {

String content = null;

// 采用循环不断从Socket中读取客户端发送过来的数据

while ((content = readFrom()) != null) {

// 遍历socketList中的每个Socket,

// 将读到的内容向每个Socket发送一次

for (Socket s : Server.socketList) {

PrintStream ps = new PrintStream(s.getOutputStream());

ps.println(content);

}

}

} catch (IOException e) {

e.printStackTrace();

}

}

// 定义读取客户端数据的方法

private String readFrom() {

try {

return br.readLine();

} catch (IOException e) {

// 删除该Socket

Server.socketList.remove(s);

}

return null;

}

}

.java

import java.io.*;

import java.net.*;

public class {

public static void main(String[] args) throws IOException {

Socket s = new Socket("127.

本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处

(166)
java开发学校学习:如何快速掌握Java开发技能?
上一篇
javaweb简单的图书管理系统实现快速、高效的图书管理
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(60条)