2014-08-28 320 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; 
     } 
    }); 
相关问题