📄 chatserverimpl.java
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -