โปรโตคอลเครือข่ายเสมือนเชิงข้อความที่รวดเร็ว เชื่อถือได้ และไม่รบกวนสำหรับ Java 6+
ปัจจุบันอยู่ในอัลฟ่า
JNetRobust เป็นโปรโตคอลเครือข่ายเสมือนที่อยู่ระหว่างการขนส่งและเลเยอร์แอปพลิเคชัน
ประโยชน์
คำเตือน
หากคุณไม่ต้องการความน่าเชื่อถือ ให้ใช้ UDP
หากคุณต้องการความน่าเชื่อถือและสามารถรอให้ได้รับการตรวจสอบได้ ให้ใช้ TCP
หากคุณต้องการความน่าเชื่อถือ แต่คุณได้รับประโยชน์จากการรับข้อมูลที่ไม่ได้รับการตรวจสอบและไม่มีเวลาแฝง ให้ลองใช้ JNetRobust
มันเป็นห้องสมุดและไม่มีข้อจำกัดเกี่ยวกับวิธีการใช้งานของคุณ:
คุณสามารถใช้การดำเนินการอ้างอิงซึ่งรวมชิ้นส่วนเหล่านั้นทั้งหมดเข้าด้วยกันเพื่อเริ่มต้น ตัวอย่างแสดงอยู่ด้านล่าง
อ้างถึงหน้า Wiki สำหรับข้อมูลเพิ่มเติม!
นี่คือตัวอย่างที่สมบูรณ์และน้อยที่สุดของการใช้การดำเนินการอ้างอิงที่ให้มา:
รหัส
public class BidirectionalMain {
public static void main ( String [] args ) throws Exception {
String receivedMessage ;
// host addresses
InetSocketAddress ADDRESS_A = new InetSocketAddress ( InetAddress . getLocalHost (), 12345 );
InetSocketAddress ADDRESS_B = new InetSocketAddress ( InetAddress . getLocalHost (), 12346 );
// setup ProtocolHosts using the host's local address and registering all serialization dataTypes
// ProtocolHost supports multiplexing between different peers using respective topicId, remote address and dataType
ProtocolHost protocolHostA = new ProtocolHost ( "A" , ADDRESS_A , String . class );
ProtocolHandle < String > protocolHandleA = protocolHostA . register ( Byte . MIN_VALUE , ADDRESS_B );
ProtocolHost protocolHostB = new ProtocolHost ( "B" , ADDRESS_B , String . class );
ProtocolHandle < String > protocolHandleB = protocolHostB . register ( Byte . MIN_VALUE , ADDRESS_A );
// send from A
protocolHandleA . send ( Arrays . asList ( "Hi!" , "How you doing?" ));
System . out . println ();
Thread . sleep ( 100 );
// receive at B
while (( receivedMessage = protocolHandleB . receive ()) != null ) {
System . out . println ( "<B> t " + receivedMessage );
}
// send from B
protocolHandleB . send ( "Howdy! Fine, thanks." );
System . out . println ();
Thread . sleep ( 100 );
// receive at A
while (( receivedMessage = protocolHandleA . receive ()) != null ) {
System . out . println ( "<A> t " + receivedMessage );
}
}
}
เอาต์พุตคอนโซล
[A]: Data sent -32767 Hi!
[A]: Data sent -32766 How you doing?
[B]: Data received ordered -32767 Hi!
[B]: Data received -32767 Hi!
[B]: Data received ordered -32766 How you doing?
[B]: Data received -32766 How you doing?
[B]: Newest data received -32766 How you doing?
<B> Hi!
<B> How you doing?
[B]: Data sent -32767 Howdy! Fine, thanks.
[A]: Data was received at other end -32767 Hi!
[A]: Data was received at other end -32766 How you doing?
[A]: Data received ordered -32767 Howdy! Fine, thanks.
[A]: Data received -32767 Howdy! Fine, thanks.
[A]: Newest data received -32767 Howdy! Fine, thanks.
<A> Howdy! Fine, thanks.
มาเวน
<!-- JNetRobust library; mandatory -->
< dependency >
< groupId >com.github.mucaho</ groupId >
< artifactId >jnetrobust-core</ artifactId >
< version >0.0.2</ version >
</ dependency >
<!-- JNetRobust examples; optional -->
< dependency >
< groupId >com.github.mucaho</ groupId >
< artifactId >jnetrobust-samples</ artifactId >
< version >0.0.2</ version >
</ dependency >
การตั้งค่าด้วยตนเอง
คุณสามารถดาวน์โหลด jar
ได้จากส่วน release และนำเข้าไปยัง classpath ของคุณ
คุณสามารถอ่านเอกสารได้ในหน้า IO ของ JNetRobusts
เปิดประเด็น และ/หรือ เปิดคำขอดึง ยินดีรับข้อเสนอแนะ รายงานข้อผิดพลาด การปรับปรุงโค้ด และคุณสมบัติเพิ่มเติม!
Copyright (c) 2014 สวัสดี.
เอ็มพีแอล 2.0. อ่านคำอธิบายสั้นๆ ฉันอยากจะสนับสนุนให้มีส่วนร่วมในพื้นที่เก็บข้อมูลดั้งเดิมนี้ผ่านการร้องขอแบบดึง หากคุณทำการแก้ไขใดๆ