2014-08-28 323 views
0

我使用網狀-socketio 1.6.6和網狀-socketio-演示從github.comnetty-socketio服務器,如何處理socket.io客戶端認證請求?

var socket = io.connect('http://192.168.202.13:9092', {'username': 'ron', 'password': '1111'}); 

當我發短信,我能找到它

[nioEventLoopGroup-3-1] INFO com.corundumstudio.socketio.handler.PacketHandler - In message: 5:::{"name":"chatevent","args":[{"userName":"user470","message":"ssssssssss"}]} sessionId: 9c6f22f4-7d19-4632-ba50-4eb70b845a13 

但connectting的時候,我不能在 [nioEventLoopGroup-3-1] INFO com.corundumstudio.socketio.handler.PacketHandler - In message: 2:: sessionId: 9c6f22f4-7d19-4632-ba50-4eb70b845a13中找到'username': 'guo', 'password': '1111'

我想要做的是

1.authentification。

2.向一個特定用戶發送消息。

感謝您的任何幫助。

現在,沒有答案。慢慢地,我意識到我把用戶名和密碼放在了錯誤的地方。 我需要寫一個anthentification事件來完成這個請求。 對嗎?

回答

0

在socketio的鑑別數據通過連接PARAMS發送,如:

http://192.168.202.13:9092/socketio/1/?username=ron&password=1111 

在您的網狀-socketio Configuration對象定義如下PARAM:

config.setAuthorizationListener(new AuthorizationListener() { 
     @Override 
     public boolean isAuthorized(HandshakeData data) { 
      String username = data.getSingleUrlParam("username"); 
      String password = data.getSingleUrlParam("password"); 
      // if username and password correct 
       return true; 
      // else 
       return false; 
     } 
    }); 
相關問題