我需要開發一個不使用任何框架的p2p應用程序,比如JXTA。我通過StackOverflow中的各種主題進行搜索,但沒有得到我想要的。我有一臺維護客戶端及其資源列表的服務器。客戶端將聯繫服務器以確定哪個客戶端有什麼。客戶端從服務器獲取此信息後,它將與其他客戶端建立p2p連接 - 服務器不參與此操作。沒有任何框架的java 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到我的客戶端並使其像服務器一樣工作?我知道我必須使用線程,但任何人都可以詳細解釋這一點嗎?或請發佈相關的線程..我厭倦了通過各種論壇和網站查找..
stackoverflow是更具體的問題。這就是爲什麼人們總是問「你試過了什麼?」 「你有什麼問題?」。在你的情況下,你需要的是關於幾個主題的指導:如何構建聊天/ p2p應用程序,如何在Java中使用普通套接字等等。也許你可以將你的問題重新定義爲「關於...的教程建議」,列出你不知道如何去做的具體事情。 – helios
旁註:如何添加「serversocket」並使其成爲服務器。唯一的區別是server = passive(監聽),client = active(連接)。一個人在等待其他人(客戶)連接的端口上收聽。你的應用程序必須能夠在做自己的東西時監聽連接(連接到其他客戶端)。 – helios
你需要有兩個線程,一個用於客戶端,另一個用於服務器...(除非你使用基於NIO的非阻塞IO ..在這種情況下,你最好使用一個框架,因爲NIO很難*做對)。你的代碼看起來很好,試試吧! –