🔍 استكشاف الأخطاء وإصلاحها
يغطي هذا الدليل المشاكل الشائعة التي قد تواجهها عند العمل مع ShredStream.com وكيفية حلها.
تستخدم SDK الخاص بنا؟ يتولى SDK تحليل الحزم والتحقق منها تلقائياً. المشاكل المتعلقة بالشبكة أدناه (firewall، IP، ضبط buffer) تنطبق بغض النظر عما إذا كنت تستخدم SDK أو مستمع UDP خام.
❌ لا تصل بيانات
إذا كان مستمع UDP يعمل لكن لا تصل shreds:
- تحقق من firewall -- تأكد أن firewall يسمح بحركة مرور UDP الواردة على المنفذ الذي عيّنته. في Linux:
bashsudo ufw allow <port>/udp
- تحقق أن البث نشط -- افتح لوحة التحكم وتأكد أن حالة البث تعرض نشط. البثوث المنتهية أو المُوقفة لا تُرسل بيانات. إذا كان البث يعرض جارِ التهيئة أو Error، انتظر لحظة وحدّث الصفحة. إذا لم تتغير الحالة، تواصل مع الدعم على Discord.
- تأكد أن IP يتطابق -- يجب أن يتطابق عنوان IP الوجهة في بثك مع IP العام لخادمك بالضبط. يمكنك التحقق من IP العام بـ:
bashcurl -4 ifconfig.me
- اربط بـ 0.0.0.0 -- تأكد أن socket UDP مربوط بـ
0.0.0.0، وليس127.0.0.1أو عنوان واجهة محدد. الربط بـ localhost سيُسقط كل حركة المرور الخارجية بصمت.
📉 فقدان حزم عالٍ
تصل الـ shreds عبر UDP، الذي لا يعيد إرسال الحزم المفقودة. تقليل الفقدان أمر بالغ الأهمية.
-
زِد buffer استقبال UDP إلى 25 ميغابايت على الأقل:
bash# Check current valuesysctl net.core.rmem_max# Set to 25 MBsudo sysctl -w net.core.rmem_max=26214400sudo sysctl -w net.core.rmem_default=26214400ملاحظة: يُضاعف Linux القيمة التي تُعيّنها عبر
setsockopt(). إذا طلبت 25 ميغابايت، يُخصص النواة 50 ميغابايت. قيمةsysctlهي الحد الأعلى قبل المضاعفة. -
اختر منطقة أقرب -- يزيد التأخير وفقدان الحزم مع المسافة. اختر المنطقة الأقرب لخادمك من إعدادات البث.
-
تجنب عمليات الإدخال/الإخراج المعطلة في حلقة الاستقبال -- أي تأخير في المعالجة في الخيط الذي يستدعي
recvfrom()يتسبب في امتلاء buffer النواة وإسقاط الحزم. انقل التحليل والمنطق إلى خيط منفصل. -
راقب إسقاطات النواة:
bash# Per-socket drops (Linux)ss -u -a -n# System-wide UDP statsnetstat -suابحث عن عداد
RcvbufErrorsأوpacket receive errors. إذا كان هذا الرقم يتزايد، فإن buffer صغير جداً أو تطبيقك لا يقرأ بسرعة كافية.
💳 الدفع لا يتأكد
تُعالج المدفوعات على بلوكتشين Solana. إذا بدا دفعك عالقاً:
- انتظر من 30 إلى 60 ثانية -- عادةً ما تتأكد معاملات Solana خلال ثوانٍ معدودة، لكن ازدحام الشبكة قد يتسبب في تأخيرات.
- تأكد من إرسال SOL كافٍ -- يجب أن يتطابق المبلغ المُرسل مع المبلغ المعروض في نافذة الدفع. إذا كنت تدفع من منصة تداول، ضع في اعتبارك رسوم السحب لضمان وصول المبلغ الكامل إلى عنوان الدفع.
إذا فشلت المعاملة على السلسلة، يمكنك إعادة محاولة الدفع من لوحة التحكم.
⚠️ توقف البث بشكل غير متوقع
إذا توقف بث كان يعمل سابقاً عن توصيل الـ shreds:
- تحقق من تاريخ الانتهاء -- افتح صفحة تفاصيل البث في لوحة التحكم. إذا انتهى البث، جدّده لاستئناف التوصيل.
- تحقق من حالة المنطقة -- أحياناً قد تخضع منطقة للصيانة. تحقق من لوحة التحكم لأي إشعارات حالة المنطقة.
- تواصل مع الدعم -- إذا كان البث يعرض أنه نشط والمنطقة سليمة، افتح تذكرة على Discord في قناة #ticket للمساعدة.
🌍 فشل تغيير المنطقة
عند فشل تغيير المنطقة، يتراجع ShredStream.com تلقائياً إلى منطقتك الأصلية حتى لا ينقطع بثك.
- تحقق من سعة المنطقة المستهدفة -- قد تكون المنطقة التي اخترتها ممتلئة مؤقتاً. حاول مرة أخرى بعد بضع دقائق.
- تحقق أن البث نشط -- لا يمكن إجراء تغييرات المنطقة إلا على البثوث النشطة. يجب تجديد البثوث المنتهية أو المُعطلة أولاً.
- جرّب منطقة مختلفة -- إذا كانت المنطقة المستهدفة غير متاحة باستمرار، اختر منطقة بديلة قريبة جغرافياً.
بعد تغيير فاشل، يستمر بثك بالعمل في منطقته الأصلية بدون فقدان بيانات.
🔌 مشاكل الاتصال
إذا لم تتمكن من إعداد بث أو تواجه أخطاء اتصال:
- استخدم عنوان IPv4 عام -- يُوصل ShredStream.com البيانات إلى عناوين IP العامة فقط. النطاقات الخاصة لن تعمل:
10.0.0.0/8172.16.0.0/12192.168.0.0/16
- استخدم منفذاً بين 1024 و65535 -- المنافذ أقل من 1024 محجوزة وقد تتطلب صلاحيات root أو تكون محظورة من مزودي الاستضافة.
- تأكد أن NAT لا يحجب UDP الوارد -- إذا كان خادمك خلف بوابة NAT (شائع مع مزودي السحابة)، تأكد أن NAT أو مجموعة الأمان تُحول حركة مرور UDP على المنفذ المختار إلى مثيلك.
💬 لا تزال بحاجة للمساعدة؟
إذا لم يحل أي مما سبق مشكلتك، تواصل مع فريق الدعم:
- Discord (الأسرع): افتح تذكرة في قناة #ticket
- Telegram: @shredstream
أرفق معرّف البث ومنطقة الخادم ووصفاً للمشكلة حتى نتمكن من مساعدتك بسرعة.