اذهب إلى المحتوى
  • 0

مشكلة إرسال حجم كبير من البيانات عبر Pusher في لارافيل

Amir Alsaeed

السؤال

عند استخدام حدث في لارافيل لإعادة بيانات من قاعدة البيانات وأثناء استعمال pusher يتخطى حجم البيانات الحد المسموح به عبر pusher ويظهر لي هذا الخطأ:

"The data content of this event exceeds the allowed maximum (10240 bytes)"

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

يوجد طريقتين لمعالجة هذا الخطأ عند الحاجة لإرسال كمية كبيرة من البيانات دفعة واحدة:

إما يتم فقط إرسال ID معيّن ونوع الحدث إلى pusher وبالتالي تجعل المستخدم هو من يقوم بطلب البيانات عن طريق HTTP:

public function broadcastWith()
{
    return [
        'id' => $this->content->id,
		'event_type' => 'request_content'
    ];
}

أو عن طريق تخفيض حجم البيانات المرسلة باستخدام JsonResource:

public function broadcastWith()
{
    return [
        'content' => new \App\Http\Resources\PostResource($this->content),
    ];
}

وعندها يتم الوراثة من صف JsonResource كالتالي:

class ContentResource extends JsonResource
{
    public function toArray($request)
    {
        return [
            'id' => $this->id,
            'title' => $this->title,
            'body' => $this->body,
        ];
    }
}

ومع ذلك ، فإن هذا النهج آمن فقط إذا كنت تعرف بالتأكيد أن البيانات التي ترسلها لا يمكن بأي حال من الأحوال تجاوز حد 10 كيلوبايت. ويمكن ضمان ذلك من خلال التحقق من صحة الإدخال ، والقيود المفروضة على أعمدة قاعدة البيانات (الحجم المحدد لكل عمود) أو وسائل أخرى إضافية مثل Request Validations.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...