我在网站上寻找我的问题,但似乎我无法找出解决方案。我有Java非阻塞客户端服务器程序,它运行良好。我以hereJava客户端/服务器 - 我们可以使服务器作为客户端到另一台服务器吗?
为例,我的问题是,如何将服务器作为客户端连接到另一台服务器?现在,我的服务器将有2个监听端口等待来自客户端的连接请求,并且已经完成。现在,我想让服务器在同一时间可以使用不同的端口连接到另一台服务器。我不知道我该如何实现这一目标。希望有人能提出一些想法。非常感谢你们!
我在网站上寻找我的问题,但似乎我无法找出解决方案。我有Java非阻塞客户端服务器程序,它运行良好。我以hereJava客户端/服务器 - 我们可以使服务器作为客户端到另一台服务器吗?
为例,我的问题是,如何将服务器作为客户端连接到另一台服务器?现在,我的服务器将有2个监听端口等待来自客户端的连接请求,并且已经完成。现在,我想让服务器在同一时间可以使用不同的端口连接到另一台服务器。我不知道我该如何实现这一目标。希望有人能提出一些想法。非常感谢你们!
是的,您可以将客户端代码放入服务器。就像您可以从Java Servlet中下载HTML页面一样。
您的服务器应该有一个处理来自客户端的传入请求的“处理程序”组件。在这个处理程序代码中,可以将您的客户端代码连接到不同的服务器。
我想你会感到困惑的是,传入连接和传出连接现在都在相同的poll-the-selector循环中处理,或者?据我所知,您可以将对象附加到选择器键上。用它来表明这不是一个传入连接,而是一个传出连接,并且处理所有传出连接与传入连接不同。您甚至可能必须以某种方式连接这些传入和传出连接,以便知道哪个传出连接匹配哪个传入连接。
您是否尝试使用多线程,我的意思是启动一个具有客户端代码并可以连接到其他服务器的线程? – 2013-03-25 08:25:28
只需创建具有客户端代码的另一个线程。而已。 – kaysush 2013-03-25 08:27:09
@Sudhanshu我使用nio,它允许我减少线程。 – UserProg 2013-03-25 08:27:13