Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带代理的Java websocket_Java_Sockets_Proxy_Websocket_Credentials - Fatal编程技术网

带代理的Java websocket

带代理的Java websocket,java,sockets,proxy,websocket,credentials,Java,Sockets,Proxy,Websocket,Credentials,几天来,我日以继夜地试图让websocket在Java中使用代理来工作。我试过不同的图书馆 但遗憾的是,这些库不支持带有凭据的代理。如果你们知道任何其他支持代理的库,我将不胜感激 提前感谢您可以尝试(参考JavaEE中WebSocket API的实现);客户端不需要运行任何JavaEE服务器,如果您使用的是Java7,则可以运行客户端 并且应该提供足够的信息来尝试。尝试库。它支持在代理服务器上进行身份验证。但是,请注意,当前实现仅支持基本身份验证 //1。创建WebSocketFactory

几天来,我日以继夜地试图让websocket在Java中使用代理来工作。我试过不同的图书馆

但遗憾的是,这些库不支持带有凭据的代理。如果你们知道任何其他支持代理的库,我将不胜感激

提前感谢

您可以尝试(参考JavaEE中WebSocket API的实现);客户端不需要运行任何JavaEE服务器,如果您使用的是Java7,则可以运行客户端

并且应该提供足够的信息来尝试。

尝试库。它支持在代理服务器上进行身份验证。但是,请注意,当前实现仅支持基本身份验证

//1。创建WebSocketFactory实例。
WebSocketFactory=新的WebSocketFactory();
// 2. 设置有关代理服务器的信息。
//可以在此处设置凭据。
ProxySettings=factory.getProxySettings();
settings.setServer(“http://proxy.example.com");
设置。设置凭据(“id”、“密码”);
// 3. 通过代理连接到WebSocket端点。
WebSocket ws=factory.createSocket(“ws://WebSocket.example.com”);
// 4. 添加侦听器以接收WebSocket事件。
ws.addListener(新的WebSocketAdapter(){
@凌驾
公共void onTextMessage(WebSocket ws,字符串消息){
//收到一条短信。
......
}
});
// 5. 执行WebSocket打开握手。
ws.connect();
// 6. 发送帧。
// 6-1. 正文
ws.sendText(“你好”);
// 6-2. 二元的
字节[]二进制=。。。。。。;
sendBinary(二进制);
// 6-3. 发出砰的声响
ws.sendPing(“你在吗?”);
// 6-4. Pong(未经请求的Pong;RFC 6455,5.5.3.Pong)
ws.sendPong(“我很好”);
// 6-5. 碎片帧
ws.sendText(“如何”,false)
.SENDCONTINUE(“是”)
.sendContinuation(“你?”,对);
// 6-6. 定期平
ws.设置间隔(60*1000);
// 6-7. 定期乒乓球(主动乒乓球;RFC 6455,5.5.3.乒乓球)
ws.setPongInterval(60*1000);
// 6-8. 关闭(如果要手动发送)。
sendClose(WebSocketCloseCode.NORMAL,“再见”);
// 7. 断开
ws.disconnect();
博客
WebSocket客户端库(Java SE 1.5+,Android)

GitHub

JavaDoc

Maven


com.neovisionaries
nv websocket客户端
1.3

nv-websocket-client-1.3.jar的大小为62854字节,不需要任何外部依赖项。

您确定使用的代理支持websocket吗?很多人没有。虽然当你通过TLS(wss://)使用websocket时,很多人可能会被骗去支持它。我已经在我的firefox mozilla中测试了该代理,用于检查websocket,它可以工作。但我想让它在java程序中工作,但它似乎非常复杂。我现在正在尝试,但它不适用于代理设置,而且我需要在proxyProxy中使用凭据。proxyProxy auth不是我们可以提供的领域:-/但是!您应该能够使用PROXY_头:进行基本/摘要抢占式身份验证。如果您有更复杂的身份验证方案(基本上是有挑战性的),您可能需要修改Tyrus代码。。(我可以提供帮助,基本上,没有实现的唯一原因是我们没有足够的需求,而且测试设置很复杂。)