日期:2014-05-16 浏览次数:20966 次
public class RequestObject implements Serializable {
private static final long serialVersionUID = 8891436114296586399L;
private int id;
private String name;
private String description;
private String others;
public RequestObject(int id, String name, String description, String others) {
super();
this.id = id;
this.name = name;
this.description = description;
this.others = others;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public String getOthers() {
return others;
}
public void setOthers(String others) {
this.others = others;
}
@Override
public String toString() {
return "RequestObject [id=" + id + ", name=" + name + ", description="
+ description + ", others=" + others + "]";
}
}
public class ResponseObject implements Serializable {
private static final long serialVersionUID = -6783592807728197249L;
private int id;
private String name;
private String value;
private String remarks;
public ResponseObject(int id, String name, String value, String remarks) {
super();
this.id = id;
this.name = name;
this.value = value;
this.remarks = remarks;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public String getRemarks() {
return remarks;
}
public void setRemarks(String remarks) {
this.remarks = remarks;
}
@Override
public String toString() {
return "ResponseObject [id=" + id + ", name=" + name + ", value="
+ value + ", remarks=" + remarks + "]";
}
}
public class DemoObjectServer {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
final int PORT = 9123;
// objects used to listen for incoming connection
IoAcceptor acceptor = new NioSocketAcceptor();
// filters:
// 1. log all information
acceptor.getFilterChain().addLast("logger", new LoggingFilter());
// 2. translate binary or protocol specific data into message object
acceptor.getFilterChain().addLast("codec",new ProtocolCodecFilter(new ObjectSerializationCodecFactory()));
// define the handler used to service client connections and the requests for the current time
acceptor.setHandler(new DemoObjectServerHandler());
//NioSocketAcceptor configuration: for the socket that will be used to accept connections from client
acceptor.getSessionConfig().setReadBufferSize(2048);
acceptor.getSessionConfig().setIdleTime(IdleStatus.BOTH_IDLE, 10);
// define the handler class and bind the NioSocketAcception to a port
acceptor.bind(new InetSocketAddress(PORT));
}
}
public class DemoObjectServerHandler extends IoHandlerAdapter {
public DemoObjectServerHandler(){
super();
}
@Override
public void messageReceived(IoSession session, Object obj) throws Exception {
System.out.println("message received");
RequestObject ro = (RequestObject) obj;
System.out.println("request body:" + ro.toString());
String _name = "request_" + ro.getId();
String _remarks = "description is " + ro.getDescription() + ", and others is " + ro.getOthers(