chatserverimpl.java
来自「java实现的网络聊天室程序」· Java 代码 · 共 62 行
JAVA
62 行
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.util.ArrayList;
public class ChatServerImpl extends Thread
{
private Socket client;
private ArrayList clients;
public ChatServerImpl(Socket aClient, ArrayList Clients)
{
this.client = aClient;
this.clients= Clients;
}
public void run()
{
try
{
BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));
PrintWriter out = new PrintWriter(client.getOutputStream(), true);
out.println("Welcome to chat room. enter : bye to exit.");
boolean done = false;
while (!done)
{
System.out.println("server in.readLine()");
String str = in.readLine();
System.out.println("readLine() finished");
if (str == null || str.trim().equals("BYE"))
{
System.out.println("if (str == null && str.trim().equals(BYE))");
done = true;
}
else
{
System.out.println("else");
for (int i = 0; i < clients.size(); i++)
{
System.out.println("for");
Socket s = ((Socket) clients.get(i));
PrintWriter pw = new PrintWriter(s.getOutputStream(), true);
pw.println("Echo : " + str);
}
}
}
clients.remove(client);
out.close();
in.close();
client.close();
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?