package com.yu.entity;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
//继承Comparable接口
public class SocketEntity implements Comparable<SocketEntity> {
public static final int SEND_DATA = 1; //发送数据
public static final int GET_DATA = 2; //获取数据
public static final int DELETE_DATA = 3; //删除数据
public static final int DATA_BUFF = 1024; //写入读取缓冲区
public static final int FREE = 1; //客户端空闲
public static final int BUSY = 0; //客户端忙碌
private long frequency = 0L; //使用频率
private String name = null; //客户端名称
private Socket socket = null; //客户端
private int status = 0; //服务状态 空闲FREE 忙碌BUSY
OutputStream os = null; //输出流 向客户端写数据
InputStream is = null; //输入流 向客户端读数据
public SocketEntity(String name, Socket socket, int status) {
this.name = name;
this.socket = socket;
this.status = status;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Socket getSocket() {
return socket;
}
public void setSocket(Socket socket) {
this.socket = socket;
}
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
public long getFrequency() {
return frequency;
}
public void setFrequency(long frequency) {
this.frequency = frequency;
}
public void frequencyAddition(){
long frequency = this.getFrequency();
this.setFrequency(frequency++);
}
public OutputStream getOs() {
try {
return this.getSocket().getOutputStream();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
public InputStream getIs() {
try {
return this.getSocket().getInputStream();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
@Override
public int compareTo(SocketEntity o) {
if (this.getFrequency() == o.getFrequency()){
return 0; //等于
}else if (this.getFrequency() > o.getFrequency()){
return -1; //小于
}else{
return 1; //大于
}
}
}
调用方法如下:
Collections.sort(socketEntity);