netcode เป็นโปรโตคอลไคลเอนต์/เซิร์ฟเวอร์ที่ปลอดภัยที่สร้างขึ้นบน UDP
มีไว้สำหรับใช้กับเกมที่มีผู้เล่นหลายคนแบบเรียลไทม์ ซึ่งต้องใช้โปรโตคอลที่เน้นการเชื่อมต่อ แต่ไม่มีการบล็อกส่วนหัวของบรรทัดของ TCP
netcode มีคุณสมบัติดังต่อไปนี้:
netcode มีเสถียรภาพและพร้อมสำหรับการผลิต
เริ่มต้นด้วยการสร้างคีย์ส่วนตัวขนาด 32 ไบต์แบบสุ่ม อย่าเปิดเผยรหัสส่วนตัวของคุณกับ ใคร
โดยเฉพาะอย่างยิ่ง อย่ารวมคีย์ส่วนตัวของคุณไว้ในไคลเอนต์ของคุณที่ปฏิบัติการได้!
นี่คือรหัสส่วนตัวทดสอบ:
static uint8_t private_key [ NETCODE_KEY_BYTES ] = { 0x60 , 0x6a , 0xbe , 0x6e , 0xc9 , 0x19 , 0x10 , 0xea ,
0x9a , 0x65 , 0x62 , 0xf6 , 0x6f , 0x2b , 0x30 , 0xe4 ,
0x43 , 0x71 , 0xd6 , 0x2c , 0xd1 , 0x99 , 0x27 , 0x26 ,
0x6b , 0x3c , 0x60 , 0xf4 , 0xb7 , 0x15 , 0xab , 0xa1 };
สร้างเซิร์ฟเวอร์ด้วยรหัสส่วนตัว:
char * server_address = "127.0.0.1:40000" ;
struct netcode_server_config_t server_config ;
netcode_default_server_config ( & server_config );
memcpy ( & server_config . private_key , private_key , NETCODE_KEY_BYTES );
struct netcode_server_t * server = netcode_server_create ( server_address , & server_config , time );
if ( ! server )
{
printf ( "error: failed to create servern" );
return 1 ;
}
จากนั้นเริ่มเซิร์ฟเวอร์ด้วยจำนวนสล็อตไคลเอนต์ที่คุณต้องการ:
netcode_server_start ( server , 16 );
หากต้องการเชื่อมต่อไคลเอ็นต์ ไคลเอ็นต์ของคุณควรกด REST API ไปที่แบ็กเอนด์ของคุณซึ่งจะส่งคืน โทเค็นการเชื่อมต่อ
การใช้โทเค็นการเชื่อมต่อจะรักษาความปลอดภัยเซิร์ฟเวอร์ของคุณ เพื่อให้เฉพาะไคลเอ็นต์ที่ได้รับอนุญาตจากแบ็กเอนด์ของคุณเท่านั้นที่สามารถเชื่อมต่อได้
netcode_client_connect ( client , connect_token );
เมื่อไคลเอนต์เชื่อมต่อกับเซิร์ฟเวอร์ ไคลเอนต์จะถูกกำหนดดัชนีไคลเอนต์และสามารถแลกเปลี่ยนแพ็กเก็ตที่เข้ารหัสและลงนามกับเซิร์ฟเวอร์ได้
สำหรับรายละเอียดเพิ่มเติม โปรดดูที่ client.c และ server.c
พื้นที่เก็บข้อมูลนี้มีการใช้งาน netcode ใน C
การใช้งาน netcode อื่นๆ ได้แก่:
หากคุณต้องการสร้างการใช้งาน netcode ของคุณเอง โปรดอ่านมาตรฐาน netcode 1.02
คนเหล่านี้ยอดเยี่ยมมาก:
ขอบคุณสำหรับการมีส่วนร่วมของคุณเพื่อ netcode!
ผู้เขียนห้องสมุดนี้คือ Glenn Fiedler
ไลบรารีโอเพ่นซอร์สอื่นๆ โดยผู้เขียนคนเดียวกัน ได้แก่: เชื่อถือได้, ทำให้เป็นอนุกรม และ yojimbo
หากคุณพบว่าซอฟต์แวร์นี้มีประโยชน์ โปรดพิจารณาสนับสนุน ขอบคุณ!
ใบอนุญาต BSD 3 ข้อ