Guest User

ClientSessionHandler

a guest
Jun 2nd, 2024
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.06 KB | None | 0 0
  1. package cnc;
  2.  
  3. import java.util.Map;
  4. import java.util.Optional;
  5. import java.util.concurrent.ConcurrentHashMap;
  6.  
  7. import org.apache.mina.core.service.IoHandler;
  8. import org.apache.mina.core.session.IdleStatus;
  9. import org.apache.mina.core.session.IoSession;
  10. import org.apache.mina.filter.FilterEvent;
  11.  
  12. public class ClientSessionHandler implements IoHandler {
  13.  
  14.     private IoSession cncSession;
  15.     private Map<String, Optional<StringBuffer>> sessionBuffers = new ConcurrentHashMap<>();
  16.    
  17.     @Override
  18.     public void sessionCreated(IoSession session) throws Exception {
  19.         // TODO Auto-generated method stub
  20.        
  21.     }
  22.  
  23.     @Override
  24.     public void sessionOpened(IoSession session) throws Exception {
  25.         // TODO Auto-generated method stub
  26.        
  27.     }
  28.  
  29.     @Override
  30.     public void sessionClosed(IoSession session) throws Exception {
  31.         // TODO Auto-generated method stub
  32.        
  33.     }
  34.  
  35.     @Override
  36.     public void sessionIdle(IoSession session, IdleStatus status) throws Exception {
  37.         // TODO Auto-generated method stub
  38.        
  39.     }
  40.  
  41.     @Override
  42.     public void exceptionCaught(IoSession session, Throwable cause) throws Exception {
  43.         // TODO Auto-generated method stub
  44.        
  45.     }
  46.  
  47.     @Override
  48.     public void messageReceived(IoSession session, Object message) throws Exception {
  49.  
  50.         String sessionID = session.getId()+"";
  51.         System.out.print("Client has got: "+ message + " " + sessionID);
  52.         if(null == sessionBuffers.get(sessionID) || Optional.empty().equals(sessionID)) {
  53.             sessionBuffers.put(sessionID, Optional.of(new StringBuffer()));
  54.         }
  55.         sessionBuffers.get(sessionID).get().append((String)message);
  56.        
  57.     }
  58.  
  59.     @Override
  60.     public void messageSent(IoSession session, Object message) throws Exception {
  61.         // TODO Auto-generated method stub
  62.        
  63.     }
  64.  
  65.     @Override
  66.     public void inputClosed(IoSession session) throws Exception {
  67.         // TODO Auto-generated method stub
  68.        
  69.     }
  70.  
  71.     @Override
  72.     public void event(IoSession session, FilterEvent event) throws Exception {
  73.         // TODO Auto-generated method stub
  74.        
  75.     }
  76.  
  77.     public void setServerWritingSession(IoSession cncSession) {
  78.         this.cncSession = cncSession;
  79.     }
  80.  
  81.    
  82.    
  83. }
  84.  
Advertisement
Add Comment
Please, Sign In to add comment