كيفية استخدام WebSockets في جافا سكريبت: دليل 2025

تعلم كيفية استخدام WebSockets في تطبيقات الويب الخاصة بك من خلال هذا الدليل الشامل. نغطي كل شيء من أساسيات WebSockets إلى أمثلة من العالم الحقيقي وأفضل الممارسات. ابدأ باستخدام WebSockets اليوم!

Amir Hassan

Amir Hassan

29 مايو 2025

كيفية استخدام WebSockets في جافا سكريبت: دليل 2025

هل تساءلت يومًا كيف يمكن لبعض التطبيقات تحديث بياناتها في الوقت الحقيقي، دون الحاجة إلى تحديث الصفحة أو النقر على زر؟

في هذه المقالة، سنشرح ما هو WebSocket، وكيف يعمل، وكيفية استخدامه مع JavaScript. وسنعرض لك أيضًا كيفية استخدام Apidog لاختبار وتصحيح واجهات برمجة التطبيقات الخاصة بك.

💡
Apidog يبسط عملية تحديد المشكلات وحلها في اتصالات WebSocket، مما يضمن التواصل السلس بين العملاء والخوادم. مع Apidog، يصبح تصحيح أخطاء WebSocket أمرًا سهلاً! احصل على Apidog للتنزيل المجاني الآن.
زر

مقدمة إلى WebSockets

WebSockets هي أداة قوية للتواصل في الوقت الحقيقي بين العميل والخادم. إنها تسمح بالتواصل الثنائي الاتجاه، مما يعني أنه يمكن إرسال البيانات واستقبالها في نفس الوقت. وهذا على عكس طلبات HTTP التقليدية، التي تكون أحادية الاتجاه وتطلب إجراء طلب جديد لكل قطعة من البيانات.

WebSockets أسرع وأكثر كفاءة من طرق التواصل التقليدية المعتمدة على HTTP. إنها تقدم زمن انتقال منخفض، تواصل ثنائي الاتجاه، قابلية التوسع، ودعم لتدفق البيانات في الوقت الحقيقي. يمكن لـ WebSockets التعامل مع عدة تدفقات بيانات عبر اتصال واحد، على عكس HTTP/1.1، الذي يقبل فقط تدفق واحد من البيانات المنظمة في وقت واحد.

كيف تعمل WebSockets

يعمل WebSocket من خلال establishing اتصال بين العميل والخادم باستخدام handshake. يتم إجراء handshake باستخدام HTTP، حيث يقوم العميل بإرسال طلب ترقية ويرد الخادم باستجابة ترقية. يحتوي طلب الاسترداد والاستجابة على بعض الرؤوس الخاصة التي تشير إلى أن العميل والخادم يرغبون في الانتقال من HTTP إلى WebSocket.

javascript Websockets

بمجرد انتهاء handshake، يتم ترقية الاتصال إلى WebSocket ويمكن للعميل والخادم تبادل الرسائل. يتم إرسال الرسائل واستقبالها باستخدام تنسيق ثنائي، وهو أكثر كفاءة وأسرع من HTTP. يمكن أن تكون الرسائل نصية أو ثنائية، ويمكن أن تحتوي على أي حجم ومحتوى.

يتم الحفاظ على الاتصال مفتوحًا حتى يقوم العميل أو الخادم بإغلاقه. يمكن للعميل أو الخادم إغلاق الاتصال عن طريق إرسال إطار إغلاق، وهو نوع خاص من الرسائل الذي يشير إلى نهاية التواصل. يمكن أيضًا أن يحتوي إطار الإغلاق على رمز سبب ورسالة تشرح سبب إغلاق الاتصال.

فوائد استخدام WebSockets

WebSockets هي تقنية تمكن التواصل المستمر، الثنائي الاتجاه، ومنخفض التأخير بين عملاء الويب وخوادم الويب. بعض فوائد استخدام WebSockets هي:

كيفية استخدام WebSocket مع JavaScript

من السهل جدًا استخدام WebSocket مع JavaScript، اللغة البرمجية الأكثر شعبية على الويب. تحتوي JavaScript على كائن مدمج يسمى WebSocket الذي يوفر واجهة برمجة تطبيقات بسيطة وبديهية لإنشاء وإدارة اتصالات WebSocket.

لاستخدام WebSocket مع JavaScript، تحتاج إلى إنشاء كائن WebSocket مع عنوان URL للخادم، ثم الاستماع إلى أحداث مثل open، message، close، وerror. يمكنك أيضًا إرسال البيانات إلى الخادم باستخدام طريقة send. إليك مثال بسيط حول كيفية استخدام WebSocket مع JavaScript:

// إنشاء كائن WebSocket بعنوان URL للخادم
const socket = new WebSocket("ws://localhost:3000");

// الاستماع لحدث open، الذي يشير إلى أن الاتصال قد تم إنشاؤه
socket.onopen = () => {
  console.log("تم فتح اتصال WebSocket");
  // إرسال رسالة إلى الخادم
  socket.send("مرحبا من المتصفح!");
};

// الاستماع لحدث message، الذي يحتوي على البيانات المستلمة من الخادم
socket.onmessage = (event) => {
  console.log("رسالة من الخادم:", event.data);
};

// الاستماع لحدث close، الذي يشير إلى أن الاتصال قد أغلق
socket.onclose = (event) => {
  console.log("تم إغلاق اتصال WebSocket");
};

// الاستماع لحدث error، الذي يشير إلى وجود خطأ في الاتصال
socket.onerror = (error) => {
  console.error("خطأ WebSocket:", error);
};

يستخدم الكود واجهة برمجة تطبيقات WebSocket لإنشاء وإدارة اتصال WebSocket مع الخادم، بالإضافة إلى إرسال واستقبال البيانات على الاتصال. إليك تحليل خطِّي للكود:

// إنشاء كائن WebSocket بعنوان URL للخادم
const socket = new WebSocket("ws://localhost:3000");

هذه السطر ينشئ كائن WebSocket جديد بعنوان URL للخادم الذي يدعم بروتوكول WebSocket. يبدأ عنوان URL بـ ws:// أو wss:// للاتصالات الآمنة.

// الاستماع لحدث open، الذي يشير إلى أن الاتصال قد تم إنشاؤه
socket.onopen = () => {
  console.log("تم فتح اتصال WebSocket");
  // إرسال رسالة إلى الخادم
  socket.send("مرحبا من المتصفح!");
};

هذا الجزء من الكود يعرف دالة سيتم تنفيذها عند حدوث حدث open على كائن WebSocket. يشير حدث open إلى أن الاتصال بين المتصفح والخادم تم إنشاؤه بنجاح. تسجل الدالة رسالة في وحدة التحكم ثم ترسل رسالة إلى الخادم باستخدام طريقة send لكائن WebSocket.

// الاستماع لحدث message، الذي يحتوي على البيانات المستلمة من الخادم
socket.onmessage = (event) => {
  console.log("رسالة من الخادم:", event.data);
};

هذا الجزء من الكود يعرف دالة سيتم تنفيذها عند حدوث حدث message على كائن WebSocket. يحتوي حدث message على البيانات المستلمة من الخادم في خاصية event.data. تسجل الدالة البيانات في وحدة التحكم.

// الاستماع لحدث close، الذي يشير إلى أن الاتصال قد أغلق
socket.onclose = (event) => {
  console.log("تم إغلاق اتصال WebSocket");
};

هذا الجزء من الكود يعرف دالة سيتم تنفيذها عند حدوث حدث close على كائن WebSocket. يشير حدث close إلى أن الاتصال بين المتصفح والخادم قد أغلق. تسجل الدالة رسالة في وحدة التحكم.

// الاستماع لحدث error، الذي يشير إلى وجود خطأ في الاتصال
socket.onerror = (error) => {
  console.error("خطأ WebSocket:", error);
};

هذا الجزء من الكود يعرف دالة سيتم تنفيذها عند حدوث حدث error على كائن WebSocket. يشير حدث error إلى وجود خطأ في الاتصال، مثل عدم إمكانية إرسال أو استقبال بعض البيانات. تسجل الدالة الخطأ في وحدة التحكم.

كيفية استخدام Apidog لتصحيح JavaScript WebSocket؟

يمكن أن يكون تصحيح WebSockets تحديًا لأنها تستخدم اتصالًا ثابتًا. ومع ذلك، هناك العديد من الأدوات المتاحة التي يمكن أن تساعدك في تصحيح كود WebSocket الخاص بك. واحدة من هذه الأدوات هي Apidog، منصة تطوير واجهات برمجة تطبيقات تعاونية شاملة. مع Apidog، يمكنك تعلم تقنيات تصحيح فعالة، وإعداد بيئة تصحيح، والاستفادة من أدوات متقدمة لتجربة تصحيح سلسة.

زر

إليك كيف يمكنك استخدام Apidog لتصحيح عميل WebSocket:

  1. افتح Apidog: أولاً، ابدأ تطبيق Apidog وانقر على زر "+" في الجانب الأيسر، وسيتم فتح قائمة منسدلة جديدة. من هناك اختر "New WebSocket API":
واجهة Apidog

2. قم بإعداد اتصال: ابدأ بإدخال عنوان URL لواجهة برمجة تطبيقات WebSocket في شريط العناوين لـ Apidog. ثم، انقر على زر "Connect" لبدء عملية handshake وإنشاء اتصال. يتيح لك Apidog تخصيص معلمات مثل Params، وHeaders، وCookies أثناء handshake.

واجهة Apidog

3. إرسال واستقبال الرسائل: يمكنك إرسال واستقبال الرسائل بعد إنشاء الاتصال عن طريق الوصول إلى علامة التبويب "Message". لديك خيار إنشاء نص، أو JSON، أو XML، أو HTML، أو رسائل نصية أخرى، بالإضافة إلى رسائل بتنسيق ثنائي باستخدام Base64 أو Hexadecimal. تعرض طريقة العرض الزمنية الجديدة في Apidog حالة الاتصال، والرسائل المرسلة، والرسائل المستلمة بالترتيب الزمني. النقر على رسالة يسمح لك بسهولة عرض تفاصيلها.

واجهة Apidog

4. توثيق واجهة برمجة التطبيقات: يجلب Apidog وظائف توثيق واجهة برمجة التطبيقات القوية لواجهات WebSocket، مما يمكِّن من توثيق تفاعلات WebSocket الخاصة بك بشكل فعال.

واجهة Apidog

يعد Apidog أداة بسيطة وقوية تسمح لك باختبار وتصحيح اتصالات WebSocket. لدى Apidog جانب ويب وجانب عميل. إذا كنت تستخدم الجانب الويب وتحتاج إلى تصحيح الخدمات المحلية، ستحتاج إلى تثبيت ملحق Google لـ Apidog.

قم بالتنزيل هنا: ملحق متصفح Apidog

أمثلة من العالم الحقيقي على JavaScript WebSockets

WebSocket رائع لأنه يمكِّن التواصل في الوقت الحقيقي بين المتصفح والخادم. يسمح لك بإنشاء تطبيقات ويب تفاعلية وجذابة يمكنها تحديث محتواها في الوقت الحقيقي، دون إعادة تحميل الصفحة. يمكن استخدام WebSocket لأغراض مختلفة، مثل:

أمثلة من العالم الحقيقي على JavaScript WebSockets

أفضل الممارسات لاستخدام JavaScript WebSockets

عند استخدام WebSockets، من المهم اتباع أفضل الممارسات لضمان أن يكون الكود الخاص بك آمنًا وفعالًا. إليك بعض أفضل الممارسات التي يجب مراعاتها:

استخدم مكتبة WebSocket: استفد من مكتبات WebSocket الموجودة لتبسيط عملية التطوير وضمان التوافق عبر المتصفحات والأجهزة المختلفة.

من خلال اتباع هذه الممارسات الأفضل، يمكنك إنشاء تطبيقات WebSocket قوية وفعالة توفر وظائف في الوقت الحقيقي مع تحسين الأمان والأداء. تذكر دائمًا اختبار تنفيذك بدقة ومتابعة أحدث التطورات في تقنية WebSocket.

الخاتمة

في الختام، تعتبر WebSockets أداة قوية للتواصل في الوقت الحقيقي بين العميل والخادم. إنها تسمح بالتواصل الثنائي الاتجاه، مما يكون مفيدًا للتطبيقات في الوقت الحقيقي مثل غرف الدردشة والألعاب عبر الإنترنت.

من خلال اتباع أفضل الممارسات واستخدام أدوات مثل Apidog، يمكنك ضمان أن يكون كود WebSocket الخاص بك آمنًا وفعالًا. فما الذي تنتظره؟ ابدأ باستخدام WebSockets في تطبيقات الويب الخاصة بك اليوم!

زر

موارد إضافية

إليك بعض الموارد الإضافية لمساعدتك على معرفة المزيد حول WebSockets:

ممارسة تصميم API في Apidog

اكتشف طريقة أسهل لبناء واستخدام واجهات برمجة التطبيقات