⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 serverthread.java

📁 java应用开发详解
💻 JAVA
字号:
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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -