首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过代理与netty 3.4.2配合使用netty

通过代理与netty 3.4.2配合使用netty
EN

Stack Overflow用户
提问于 2013-03-07 19:14:21
回答 2查看 3.7K关注 0票数 2

有没有可能像下面描述的那样使用Netty:http://docs.oracle.com/javase/6/docs/technotes/guides/net/proxies.html

也许有一些选项,比如:

代码语言:javascript
复制
System.getProperties().put("socksProxySet","true");
System.getProperties().put("socksProxyHost","127.0.0.1");
System.getProperties().put("socksProxyPort","1080");

我试过了,但netty不接受属性,也不通过socks代理请求代理。

代码语言:javascript
复制
ChannelFuture future =
                    bootstrap.connect(
                            new InetSocketAddress(uri.getHost(), uri.getPort()));

我的netty客户端通过websockets连接到netty服务器。

Java NIO不支持代理。Netty基于Java NIO。我只是希望这样的可能性存在/可以添加到netty中。

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2013-03-11 20:19:04

这很简单。您必须使用自己的处理程序创建侦听器。示例可以在这里找到:https://github.com/shenfeng/async-http-client

类:

me.shenfeng.http.ConnectionListener

me.shenfeng.http.SocksHandler

来自3.6.2.final的Netty包含包*.socks:http://netty.io/4.0/api/io/netty/handler/codec/socks/package-summary.html

因此,此对象模型可用于编码/解码发往/来自socks服务器的socks消息。

票数 2
EN

Stack Overflow用户

发布于 2013-03-07 22:40:31

由于您使用的是从客户端到服务器的WebSockets连接,并且web-sockets协议基于超文本传输协议,因此这样的结构应该可以工作(它与您编写的略有不同):

代码语言:javascript
复制
//System.setProperty("socksProxySet","true"); //it's commented, because it seems to be not necessary
System.setProperty("socksProxyHost","127.0.0.1");
System.setProperty("socksProxyPort","1080");

但正如你所说的,它对你不起作用,那么我建议你检查官方netty的代理example

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15269695

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档