0

我正在使用https://github.com/nkzawa/socket.io-client.java库,它可以工作。我的问题是我的服务器正在运行 socket.io 护照并需要身份验证。有谁知道我如何使用 socket.io-client.java 库对我的客户端进行身份验证?提前致谢。

4

1 回答 1

1

这是根据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");
            }
        });
    }
});
于 2015-02-10T07:12:55.937 回答