Java - 客户端可以同时充当服务器还是反之亦然?

时间:2012-05-09 17:05:54

标签: java tcp client-server

我正在开发一个项目,我需要编写一个TCP / IP客户端 - 服务器程序。好吧,它本身很简单,但我被要求做一些我以前从未做过的事情。

我想知道,我是否可以编写一个Java客户端应用程序,它将命令发送到服务器并从服务器获取响应。此外,服务器能够向客户端发送相同的命令并接收类似的响应。

简单来说,我被要求编写一个应用程序,其中客户端同时也是服务器(不是它自己的,而是连接到它的服务器),反之亦然。

  

例如,如果客户端向服务器请求摄像机01的视频源,则服务器会发回确认。在此之后,如果服务器想要,它可以向客户端发送查看摄像机02的视频的请求,并且客户端也将相应地回复。

可以这样做吗?!?如果是的话,请一些建议会很好,因为我不知道如何处理它,也许是多线程我猜。如果是,怎么样?!?一些帮助将是伟大的。

2 个答案:

答案 0 :(得分:2)

您可以在两侧开发多线程应用程序。在服务器上,两个线程将用于接收数据包,另一个用于发送数据包。在客户端,您可以做同样的事情。

答案 1 :(得分:1)

是的,你可以这样做。实际上,Peer-to-Peer应用程序就是这样做的。您有一个对等体,而不是客户端或服务器,它同时是客户端和服务器。您肯定必须使用多线程来实现这一点。