การส่งข้อความ UDP ที่รวดเร็ว เชื่อถือได้ และง่ายดายสำหรับ Java ออกแบบมาสำหรับเกม
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 และยินดีที่ได้ร่วมงานด้วย! ขอบคุณมากสำหรับห้องสมุดที่ยอดเยี่ยมนี้!
Project Lombok สมควรได้รับการกล่าวถึงเช่นกัน เนื่องจากทำให้การทำงานกับ Java สะดวกสบายยิ่งขึ้น และโค้ดก็ดูสะอาดตายิ่งขึ้น ตรวจสอบออกถ้าคุณยังไม่มี
โพสต์ปัญหาในหน้าปัญหาหรือติดต่อฉันทางอีเมลที่ [email protected] เพื่อสอบถามข้อมูลอื่น ๆ