Java客户端/服务器 - 我们可以将服务器作为客户端到另一台服务器吗

时间:2013-03-25 08:23:09

标签: java multithreading sockets client-server

我在网站上查找我的问题,但似乎我无法找到解决方案。我有Java非阻塞客户端服务器程序,它运行良好。我从here

中取了示例

我的问题是,如何将服务器作为另一台服务器的客户端呢?现在,我的服务器将有2个监听端口来等待来自客户端的连接请求并实现。现在,我想让服务器同时可以使用不同的端口连接到另一台服务器。我不知道我怎么能做到这一点。希望有人能提出一些想法。非常感谢你们!

3 个答案:

答案 0 :(得分:1)

从服务器代码向另一台服务器运行客户端。就如此容易。你在这个场景中尝试过什么并且无法完成?您可能希望使用Apache HTTP(有它的同步和异步版本)客户端或Netty异步HTTP客户端。 Apache http客户端教程here

答案 1 :(得分:0)

我认为代理应该排除你。更多here

答案 2 :(得分:0)

是的,您可以将客户端代码放入服务器。就像您可以从Java Servlet中下载HTML页面一样。

您的服务器应该有一个“处理程序”组件,用于处理来自客户端的传入请求。在此处理程序代码中,您可以将连接到不同服务器的客户端代码放在其中。

我想让你困惑的是,传入连接和传出连接现在都在同一个poll-the-selector循环中处理,或者?据我记忆,您可以将对象附加到选择键。使用它来表示这不是传入连接,而是传出连接,并以与传入连接不同的方式处理所有传出连接。您甚至可能必须以某种方式连接这些传入和传出连接,因此您知道哪个传出连接与哪些传入连接匹配。