?? cleandeadconnect.java
字號:
package serverframe;import java.io.*;import java.awt.*;import java.net.*;import java.util.*;import java.awt.event.*;import javax.swing.*;/** * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2006</p> * <p>Company: </p> * @author not attributable * @version 1.0 */class CleanDeadConnect extends Thread{ ServerThread sThread; ClientThread temp; String m; public CleanDeadConnect(ServerThread sThread) { this.sThread = sThread; } public void run() { while(true) { try { Thread.sleep(2000); } catch(InterruptedException E){} synchronized(sThread.Clients) { for(int i=0;i<sThread.Clients.size();i++)//循環客戶機次檢查處理客戶機的線程是否死亡 { temp = (ClientThread)sThread.Clients.elementAt(i);//返回指定的線程 if(!temp.isAlive())//判斷是否死亡,死亡的線程isAlive返回false { ClientThread.ConnectNumber--; m ="talk"+ temp.getClientName() + ":" + temp.getClientAddress(); m = m + "已離開 目前連線數: " + ClientThread.ConnectNumber + "\n"; sThread.frame.ServerStatus.append(m); synchronized(sThread.messages) { sThread.messages.addElement(m);//把死亡線程消息加入消息隊列 } sThread.Clients.removeElementAt(i);//在線程vector中移除該死亡的線程 } } } } }}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號