如果有多个客户端的话,会共享一个队列? 我不需要共享。

MINA服务端独立线程队列 

我的目的是想 每个客户端(长连接),连接上来并 发送命令,然后保存到队列中(队列要独立)。然后从队列中取出命令 慢慢处理。。 

  1. public class ServerHandler extends IoHandlerAdapter {  

  2.     /** 

  3.      * 日志处理 

  4.      */  

  5.     private static Logger log = Logger.getLogger(ServerHandler.class);  

  6.     /** 

  7.      * Socket客户端 

  8.      */  

  9.     private Socket socket = null;  

  10.         /** 

  11.      * 双向队列 

  12.      */  

  13.     private ArrayDeque<byte[]> send = new ArrayDeque<byte[]>();  

  14.           

  15.         public void messageReceived(IoSession session, Object message)  

  16.             throws Exception {  

  17.   

  18.             //协议处理  

  19.         IProtocol Protocol = ManufacturerFactory.getFirmObj(Firmid).getProtocolObj(ProtocolType);  

  20.             byte[] sendby = Protocol.Encoder(commobj);  

  21.         send.add(sendby);//命令添加到队列  

  22.   

  23.             //从队列中取出命令发送到其他服务   代码省略....                    

  24.           

  25.     }  

  26. }  


FFIVE
浏览 65回答 1
1回答

绝地无双

定义队列,作为session的附加属性保存,就不会共享了
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java