简体   繁体   English

具有socket.io护照服务器身份验证的Java Socket.io客户端

[英]Java Socket.io client with socket.io passport server authentication

I am using the https://github.com/nkzawa/socket.io-client.java library, and it works. 我正在使用https://github.com/nkzawa/socket.io-client.java库,它可以正常工作。 My issue is that my server is running socket.io passport and requires authentication. 我的问题是我的服务器正在运行socket.io护照,并且需要身份验证。 Does anyone know how I can authenticate my client using the socket.io-client.java library? 有谁知道我如何使用socket.io-client.java库对客户端进行身份验证? Thanks in advance. 提前致谢。

This is the solution according to nkzawa 这是根据nkzawa的解决方案

socket.io().on(Manager.EVENT_TRANSPORT, new Emitter.Listener() 
{
    @Override
    public void call(Object... args) 
    {
        Transport transport = (Transport)args[0];
        transport.on(Transport.EVENT_REQUEST_HEADERS, new Emitter.Listener() 
        {
            @Override
            public void call(Object... args) 
            {
                @SuppressWarnings("unchecked")
                Map<String, String> headers = (Map<String, String>)args[0];
                // set header
                headers.put("X-SocketIO", "hi");
            }
        }).on(Transport.EVENT_RESPONSE_HEADERS, new Emitter.Listener() 
        {
            @Override
            public void call(Object... args) 
            {
                @SuppressWarnings("unchecked")
                Map<String, String> headers = (Map<String, String>)args[0];
               // get header
                String value = headers.get("X-SocketIO");
            }
        });
    }
});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM