我正在使用https://github.com/nkzawa/socket.io-client.java库,它可以正常工作。我的问题是我的服务器正在运行socket.io passport并需要身份验证。有谁知道我如何使用socket.io-client.java库验证我的客户端?提前谢谢。
答案 0 :(得分: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");
}
});
}
});