我在网站上查找我的问题,但似乎我无法找到解决方案。我有Java非阻塞客户端服务器程序,它运行良好。我从here
中取了示例我的问题是,如何将服务器作为另一台服务器的客户端呢?现在,我的服务器将有2个监听端口来等待来自客户端的连接请求并实现。现在,我想让服务器同时可以使用不同的端口连接到另一台服务器。我不知道我怎么能做到这一点。希望有人能提出一些想法。非常感谢你们!
答案 0 :(得分:1)
从服务器代码向另一台服务器运行客户端。就如此容易。你在这个场景中尝试过什么并且无法完成?您可能希望使用Apache HTTP(有它的同步和异步版本)客户端或Netty异步HTTP客户端。 Apache http客户端教程here
答案 1 :(得分:0)
我认为代理应该排除你。更多here
答案 2 :(得分:0)
是的,您可以将客户端代码放入服务器。就像您可以从Java Servlet中下载HTML页面一样。
您的服务器应该有一个“处理程序”组件,用于处理来自客户端的传入请求。在此处理程序代码中,您可以将连接到不同服务器的客户端代码放在其中。
我想让你困惑的是,传入连接和传出连接现在都在同一个poll-the-selector循环中处理,或者?据我记忆,您可以将对象附加到选择键。使用它来表示这不是传入连接,而是传出连接,并以与传入连接不同的方式处理所有传出连接。您甚至可能必须以某种方式连接这些传入和传出连接,因此您知道哪个传出连接与哪些传入连接匹配。