try {
LinkedHashMap<String, Object> map = Json.fromJson(LinkedHashMap.class,
Streams.utf8r(socket.getInputStream()));
SocketAction action = saTable.get(map.get("cmd").toString());
if (null != action) {
SocketContext context = new SocketContext(this);
if(action instanceof JsonAction)
((JsonAction)action).run(map,context);
else
action.run(context);
} else {