وشملت البطاريات صندوق الشبكات للألعاب.
[dependencies]
netstack = "0.3.0"
التوثيق (جاري العمل)
إذا كانت لديك اقتراحات أو فقدت ميزات أو كنت ترغب فقط في التواصل معنا، يمكنك فتح المشكلات في هذا المستودع أو التواصل معي على تويتر.
لاستخدام netstack بشكل فعال في الإنتاج، تحتاج إلى قناة آمنة لتبادل السر الأولي ورمز الاتصال. يوصى باستخدام https لهذا الغرض، لكن الأمر متروك لك. تستخدم الأمثلة خادم http.
(☑️ تعني تم التنفيذ،؟ تعني المخطط لها أو قيد التطوير)
عمليات النقل المستندة إلى io_uring
أو IOCP
أو epoll
خارج النطاق في الوقت الحالي.
لا يقوم هذا الصندوق بتنفيذ إعادة الإرسال استنادًا إلى عمليات الإقرار والمهلات. لدى الألعاب طرق أخرى لتحقيق الموثوقية، ويرجع ذلك في الغالب إلى أن المعلومات أصبحت قديمة بالفعل بحلول الوقت الذي تكتشف فيه أي آلية تعتمد على المهلة الحزمة المفقودة.
على سبيل المثال، يرسل FPS مدخلات اللاعب لآخر إطارين مع كل حزمة، لذلك عندما يضيع أحد الإطارات على السلك، فإن الحزمة التالية تملأ الفجوة.
عادةً ما يعتمد ضغط حالة اللعبة من الخادم إلى العميل على آخر حزمة أقرها العميل. استخدم الحدث MessageAcknowledged
والرقم التسلسلي الذي تم إرجاعه بواسطة send
لهذا الغرض.
راجع دليل الأمثلة للحصول على مثال العميل/الخادم، واستخدم الأوامر لتشغيلها:
cargo run -p server
cargo run -p client
يأتي Netstack مع عمل جارٍ لاشتقاق وحدات الماكرو للبنيات (والتعدادات اللاحقة).
# [ derive ( Debug , Serialize , Deserialize ) ]
pub struct Greeting {
pub id : u32 ,
pub to : String ,
pub message : String ,
}
معهد ماساتشوستس للتكنولوجيا