我是一個java網絡新手,我有一個小型項目,我想下載一個LAN網絡,只有五個用戶使用。Java網絡編程的最佳框架?
我想使用Java swing,MySQL作爲數據庫,eclipse作爲IDE。 那麼什麼是最好的框架,使網絡編程更容易,因爲我不想從頭開始。
我讀過關於Netty和Apache Mina的內容,我不知道這對我是否適合我。
我是一個java網絡新手,我有一個小型項目,我想下載一個LAN網絡,只有五個用戶使用。Java網絡編程的最佳框架?
我想使用Java swing,MySQL作爲數據庫,eclipse作爲IDE。 那麼什麼是最好的框架,使網絡編程更容易,因爲我不想從頭開始。
我讀過關於Netty和Apache Mina的內容,我不知道這對我是否適合我。
請參閱netty-vs-mina鏈接。關於「最佳」的問題並不是真正的格式,不應在本論壇中提出。
這個問題是5歲半,但它沒有被回答也沒有關閉。這就是爲什麼我寫這個,假設提問者的意思是Server-Client-Model。
我會推薦檢出NetCom2。這是一個易於使用的框架,爲未來的改進保持高度模塊化。
這個框架背後的概念可能看起來很奇怪,因爲它構建爲「over-network」Event-Bus。通信主要由對象組成,通過網絡和服務器/客戶端進行響應。
在服務器上,你會寫一個java-PROGRAMM,這可能是這樣的:
public class ServerMain {
private ServerStart serverStart;
public ServerMain(int port) {
serverStart = ServerStart.at(port);
}
public void start() throws StartFailedException, ClientConnectionFailedException {
serverStart.launch();
serverStart.acceptAllNextClients();
}
}
而且潛在的客戶是這樣的:
public class ClientMain {
private ClientStart clientStart;
public ClientMain(String address, int port) {
clientStart = ClientStart.at(adress, port);
}
public void start() throws StartFailedException {
clientStart.launch();
}
}
這是如何創建並啓動一個服務器和一個客戶端。
您可以告訴客戶端和服務器如何響應某些對象。這應該[clientStart/serverStart] .launch()之前通過聲明來完成:
clientStart.getCommunicationRegistration()
.register(MessageObject.class)
.addFirst(messageObject -> System.out.println(messageObject));
serverStart.getCommunicationRegistration()
.register(MessageObject.class)
.addFirst((session, messageObject) -> session.send(messageObject));
現在,您可以從客戶端向服務器發送的東西,通過陳述:
clientStart.send(new MessageObject());
這個例子是基本一個回聲服務器,其解釋爲here。
兩者之間的通信更詳細可以找到here或here。
如果由產生的輸出不堪重負,你可以通過聲明規範它:
// Choose only one.
NetComLogging.setLogging(Logging.trace());
NetComLogging.setLogging(Logging.debug());
NetComLogging.setLogging(Logging.info());
NetComLogging.setLogging(Logging.warn());
NetComLogging.setLogging(Logging.error());
NetComLogging.setLogging(Logging.disabled());
哪個更詳細here解釋。
請注意,這個項目剛開始投放和文檔仍在進行中。
另請注意,此框架仍處於測試階段。我不會推薦它用於生產用途,但我會考慮它的個人使用。