| 1 package sellwin.server; 2 3 import java.io.*; 4 import java.net.*; 5 import java.util.*; 6 import sellwin.domain.*; 7 8 12 18 public class ChatReaper extends Thread { 19 20 21 private TreeMap onlineUsers = null; 22 23 28 public ChatReaper(TreeMap onlineUsers) { 29 this.onlineUsers = onlineUsers; 30 } 31 32 37 public void run() { 38 try { 39 while(true) { 40 sleep(9000); 41 userCheck(); 42 } 43 } catch (InterruptedException e) { 44 e.printStackTrace(); 45 } 46 } 47 48 51 private void userCheck() { 52 ChatConnInfo info = null; 53 Object [] keys = onlineUsers.keySet().toArray(); 54 55 if (keys == null) return; 56 57 for (int i=0;i<onlineUsers.size();i++) { 58 info = (ChatConnInfo)onlineUsers.get(keys[i]); 59 System.out.println(info.getSender() + " connected since " + info.getConnectedSince()); 60 if (info.stillConnected()) 61 System.out.println(info.getSender() + " not reaped yet"); 62 else { 63 System.out.println("reaping " + info.getSender()); 64 onlineUsers.remove(info.getSender()); 65 } 66 } 67 } 68 } 69 | Popular Tags |