@Override
	public void run() {
		boolean isKeep=true;
		try {
			while(isKeep)
			{
				Message m=(Message)objIn.readObject();
				if(m!=null)
				{
					//System.out.println(m.toString());
					roomid=m.roomid;
					if(m.roomid==this.roomid)
					{
						String remark=m.remark;
						
						// user list û ó
						if(m.msg.equals("[USER]"))
						{
							DefaultTableModel model=new DefaultTableModel(
									new Object[][] {},
									new String[] {
										"UserID", "UserName"
									}
								);
							main.JUserList.setModel(model);
							String[] userlist=remark.split(",");
							for(int i=0;i<userlist.length;i++)
							{
								String[] row=userlist[i].split(":");
								model.addRow(row);
							}
							//System.out.println(remark);
						}
						// room list û ó
						else if(m.msg.equals("[ROOM]"))
						{
							DefaultTableModel model=new DefaultTableModel(
									new Object[][] {},
									new String[] {
											"RoomID", "Room Name", "UserCount"
										}
									);
							main.JRoomTable.setModel(model);
							String[] roomlist=remark.split(",");
							for(int i=0;i<roomlist.length;i++)
							{
								String[] row=roomlist[i].split(":");
								model.addRow(row);
							}
							//System.out.println(remark);
						}
					}				
				}
			}
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			isKeep=false;
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			isKeep=false;
			
		}
	}