serverthread.java
来自「java应用开发详解」· Java 代码 · 共 71 行
JAVA
71 行
import java.io.*;
import java.net.InetAddress;
import java.net.Socket;
import java.util.Date;
class ServerThread extends Thread
{
ServerThread()
{
}
public void run()
{
Angent angent = null;
String theOutput = null;
try
{
//得到客户代理
angent = ChatServer.theStack.pop();
//从客户代理中得到socket
Socket angentSocket = angent.socket;
//得到输入流
BufferedReader in = angent.in ;
PrintWriter out = angent.out ;
//实例化一个聊天协议处理类
ChatProtocol cp = new ChatProtocol();
while(true)
{
String str = in.readLine();
System.out.println("you input string "+str);
if (angent.userName==null)
{
theOutput = "Register: please input your name. Usage: [login; ;yourname] ";
out.println(theOutput);
out.flush();
}
if(str != null)
{
if(!str.equals(""))
{
angent = cp.login(str,angent);
if(angent.exist()) cp.chat(str,angent);
}
}
else
{
//client closed connection
throw new IOException();
}
}
}
catch(IOException _ex)
{
String s=angent.userName+" left...";
ChatServer.broadcast.removeUser(angent);
ChatServer.broadcast.broadcast(s);
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?