jfastnet
jfastnet-0.1.3
適用於 Java 的快速、可靠且簡單的 UDP 訊息傳遞。專為遊戲設計。
JFastNet 能夠容忍丟包,如果使用得當,即使在網路條件較差的情況下,它也可以為您的玩家提供流暢的網路遊戲體驗。
該庫的 API 可能會發生變化。
POM 的依賴項:
< dependency >
< groupId >com.jfastnet</ groupId >
< artifactId >jfastnet</ artifactId >
< version >0.3.8</ version >
</ dependency >
以下程式碼顯示了伺服器-客戶端通訊的重要部分:
Server server = new Server ( new Config (). setBindPort ( 15150 ));
Client client = new Client ( new Config (). setPort ( 15150 ));
server . start ();
client . start ();
client . blockingWaitUntilConnected ();
server . send ( new PrintMessage ( "Hello Client!" ));
client . send ( new PrintMessage ( "Hello Server!" ));
點擊查看HelloWorld.java的完整範例程式碼
該文檔仍在進行中。
一開始要找的最重要的類別是Config
和Message
類別。那裡的 JavaDoc 應該為您提供該庫的基本配置可能性。
目前,您可以使用兩種方法來可靠地發送訊息。不可靠地發送訊息當然也是一種選擇。
可靠模式設定為ACK_PACKET
的訊息接收方收到訊息後將向另一端發送確認封包。只要前面提到的訊息的發送者沒有收到確認資料包,它就會繼續重新發送該訊息。
屬性 | 價值 |
---|---|
可靠的 | 是的 |
已訂購 | 不 |
只要訊息按預期順序到達,可靠模式設定為SEQUENCE_NUMBER
的訊息接收方將不會執行任何操作。但如果接收到id大於預期的訊息,接收方將停止處理該訊息並向另一端發送RequestSeqIdsMessage
。在收到所有必需的訊息之前,處理不會繼續。
屬性 | 價值 |
---|---|
可靠的 | 是的 |
已訂購 | 是的 |
通常建議使用序號,因為這樣會減少開銷並且保證有序交付。
使用maven建置JFastNet:
mvn clean install
Kryo 是 JFastNet 中使用的預設序列化器,使用起來很愉快!非常感謝這個很棒的圖書館!
Lombok 專案也值得一提,因為它讓使用 Java 變得更加舒適,而且程式碼看起來更乾淨。如果您還沒有的話,請檢查一下。
將問題發佈到問題頁面或透過電子郵件與我聯絡 [email protected] 進行其他查詢。