我需要开发一个不使用任何框架的p2p应用程序。我在StackOverflow中搜索了各种主题,但我没有得到我想要的。我有一个服务器来维护客户端及其资源的列表。客户端将与服务器联系,以找出哪个客户端有什么。在客户端从服务器获得此信息后,它将与另一个客户端建立p2p连接-服务器不会参与其中。
我需要知道如何在同一个程序中创建客户端套接字和服务器套接字,即该程序应该像服务器和客户端。请帮帮我。
for ex:
client code
Socket clientSocket = new Socket("localhost", 10000);
server code
ServerSocket welcomeSocket = new ServerSocket(10000);
while(true)
{
//client socket
Socket connectionSocket = welcomeSocket.accept();
.......
.......
}我如何将serversocket添加到我的客户端并使其像服务器一样工作?我知道我必须使用线程,但有人能详细解释一下吗?或者请发表相关的帖子..我厌倦了浏览各种论坛和网站。
发布于 2012-09-18 15:28:58
实际上,有许多方法可以编写与线程和IO相关的网络代码(请参阅http://www.kegel.com/c10k.html)。我猜传统的方法是创建一个线程来处理每个连接,这在the Java tutorial的底部解释过。这是非常好的,如果连接已经建立,做了一些事情,然后被关闭。
但是,如果您始终保持连接打开,则最终可能会创建过多的线程和开销。因此,其他方法。
另外,你应该考虑使用一些通用的java网络库。您可以实现自己的协议和通信模型,但仍然可以节省一些精力,最终可能会得到更好的代码。
https://stackoverflow.com/questions/12471902
复制相似问题