Ceras هو مُسلسل ثنائي. يقوم بتحويل أي كائن إلى byte[]
والعكس. إنها تتجاوز الحدود من حيث الميزات والسرعة والراحة. يدعم الحلقات المرجعية، وسلاسل الميراث الكبيرة/المعقدة، وتقسيم الكائنات إلى أجزاء، ...
فئة الشخص {اسم السلسلة العامة؛ العمر العام؛ }var p = new Person { Name = "riki"، العمر = 5 };var ceras = new CerasSerializer();var bytes = ceras.Serialize(p);
>> العديد من الأمثلة في البرنامج التعليمي للتعليمات البرمجية
>> أدلة تفصيلية لسيناريوهات محددة على مدونتي
>> اقرأ "مخاطر التحسين والاستخدام"
>> سجل التغيير v3.0 (rikidev.com/new-features-in-ceras-3-0-2)
>> ميزات جديدة في الإصدار 4.0 (https://github.com/rikimaru0345/Ceras/releases/tag/4.0)
سريع جدًا، مخرج ثنائي صغير (انظر الأداء )
يدعم إلى حد كبير أي نوع:
التنسيقات المكتوبة بخط اليد لجميع أنواع .NET الشائعة
يأتي مع تنسيقات لجميع أنواع Unity الشائعة
يُنشئ تنسيقات جديدة في وقت التشغيل لأي نوع جديد/مستخدم
من السهل جدًا توسيعها وتخصيصها
الدعم الكامل لاستمرارية المرجع (بما في ذلك المراجع الدائرية!)
الدعم الكامل لتعدد الأشكال / الميراث / الواجهات
يمكن إجراء تسلسل للكائنات إلى أجزاء باسم "ExtenalObjects" (مفيد في العديد من السيناريوهات)
التسامح التلقائي مع الإصدار، لا حاجة لوضع أي سمات على فصولك الدراسية!
قائمة الميزات الكاملة (والميزات المخطط لها)
يتم تصنيف Ceras عمومًا في أعلى مستوى من الأداء، جنبًا إلى جنب مع NetSerializer وMessagePack-CSharp. للحصول على فكرة عن كيفية أداء Ceras هنا هي النتائج المعيارية الأولية. الحجم الثنائي الناتج هو تقريبًا نفس حجم messagePack-CSharp.
يتم الحصول على النتائج المعروضة من هذا الكود وأنا أشجعك ليس فقط على تجربتها بنفسك، ولكن أيضًا تقديم تعليقات حول السيناريوهات التي حصلت فيها على نتائج جيدة وسيئة.
لا تنس ضبط الإعدادات في SerializerConfig
لتناسب حالتك المحددة. قد يتطلب استخدام Ceras لقراءة/كتابة حزم الشبكة إعدادات مختلفة عن، على سبيل المثال، حفظ كائن إعدادات في ملف، أو العناصر/التعاويذ/الوحوش المستمرة في لعبة ما، أو ...
لا يزال المشروع قيد التنفيذ بشكل كبير، مما يعني أنه سيتم تنفيذ المزيد من التحسينات بمرور الوقت (ملاحظاتك مهمة هنا!).
الهدف الأساسي هو إنشاء مُسلسِل عالمي يمكن استخدامه في كل المواقف. شخصيًا، كانت نواياي الأساسية هي سهولة ثبات الأشياء والتواصل عبر الشبكة. لقد أضفت العديد من الميزات مع مرور الوقت، وعندما يفكر شخص ما في سيناريو جيد ينبغي دعمه أيضًا، سأحقق ذلك.
أمثلة:
الإعدادات: حفظ الكائنات على القرص بسرعة دون الكثير من المتاعب: الإعدادات، حفظ الألعاب، أيًا كان. مع تكوين صفر إلى حد كبير. راجع الخطوتين 1 و2 في دليل الاستخدام
التقسيم: إذن، لدى Person
إشارات إلى كائنات Person
أخرى، ولكن يجب إجراء تسلسل لكل منها على حدة!؟ (دون أن تسحب المراجع البرنامج بأكمله بسرعة). ربما تريد أن تكون قادرًا على وضع كل Person
في ملفه الخاص، أو إرساله عبر الشبكة واحدًا تلو الآخر حسب الحاجة؟ لا مشكلة! استخدام IExternalRootObject
ليس مشكلة! راجع دليل الكائنات الخارجية (مثال لقاعدة بيانات اللعبة)).
الشبكة: نظرًا لواجهة برمجة التطبيقات البسيطة الخاصة بها ومجموعة واسعة من الميزات، فإن Ceras مناسب بشكل فريد لتنفيذ "بروتوكول الشبكة" الكامل لك. لقد كتبت دليلاً قصيرًا يوضح كيف يمكن أن يبدو تطبيق TCP الأساسي: Just Send(myObject);
ثم var obj = await Receive();
على الجانب الآخر، هذا كل شيء! حرفيًا لا يمكن أن يصبح الأمر أسهل من ذلك. في الوقت الحالي، يتكون الدليل من جزأين فقط، ولكن عندما يكون لدي بعض الأجزاء (وإذا كانت هناك طلبات لذلك)، أرغب في مواصلة السلسلة، وفي النهاية بناء تلك العينة في شبكة كاملة وقوية ومختبرة في المعركة نظام.
المزيد: ما ورد أعلاه مجرد أمثلة، لقد تم تصنيع Ceras بحيث يمكن استخدامه في كل المواقف تقريبًا...
إذا كنت بحاجة إلى مخرجات يمكن قراءتها بواسطة الإنسان لسبب ما. على سبيل المثال، بعض الملفات التي تريد أن تتمكن من تحريرها في محرر النصوص. بالنسبة لهذه الاستخدامات، من المحتمل أن يكون JSON أو XML أكثر ملاءمة.
أنت تخطط لاستخدام هذا على نظام أساسي لا يدعم إنشاء التعليمات البرمجية. يتم إنشاء مُسلسلات لأنواع المستخدمين في وقت التشغيل من خلال إنشاء التعليمات البرمجية. وإذا كان ذلك غير مسموح به (على سبيل المثال في نظام التشغيل iOS)، فلن يتمكن Ceras من إنشاء منسقات كائنات عشوائية. ستظل الأنواع المضمنة تعمل بالرغم من ذلك. هناك طرق لإصلاح ذلك... (إنشاء المنسقات مسبقًا) لدى Ceras الآن AotMode
مخصص في التكوين ومولد التعليمات البرمجية (دليل سريع لذلك هنا) لـ IL2CPP/Unity/AoT.
افتح قضية
انضم إلى Discord الخاص بي (ربما هو الأفضل للمساعدة المباشرة الفردية)
تأكد من قراءة الأسئلة الشائعة والتحسين والمزالق