java p2p没有任何框架

时间:2012-09-18 07:01:57

标签: java

我需要开发一个不使用像JXTA这样的任何框架的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添加到我的客户端并使其像服务器一样工作?我知道我必须使用线程,但任何人都可以详细解释这个吗?或者请发布一个RELEVANT线程..我厌倦了浏览各种论坛和网站..

1 个答案:

答案 0 :(得分:1)

实际上有很多方法可以编写关于线程和IO的网络代码(参见http://www.kegel.com/c10k.html)。我想传统的方法是创建一个线程来处理每个连接,在the Java tutorial的底部进行了解释。如果建立连接,做某事,然后关闭,这是完全正常的。

但是,如果您始终保持连接打开,则最终可能会创建过多的线程和开销。因此,其他方法。

另外,您应该考虑使用一些通用的Java网络库。您可以实现自己的协议和通信模型,但仍然可以节省一些精力,最终可能会得到更好的代码。

相关问题