المتطلبات الضرورية قبل البدأ في إستخدامها أن تكون على دراية بماهية الويب سوكيت, والتي هي عبارة عن إتصال بين العميل والخادم مفتوح حيث لا يحتاج العميل إرسال طلب إلى الخادم في كل مرة حتى يرد عليه الخادم, بل يكفي فتح قناة إتصال بينهما وثم يستطيع كل منهما إرسال رسائل إلى الأخر , ويمكنك تحميل مكتبة الRatchet بإستخدام الcomposer
php ~/composer.phar require cboden/ratchet
ومن ثم يمكنك عمل implementation للصنف MessageComponentInterface وتلك الدوال التي تقوم بعمل implementation لها سيتم تنفيذها خلال دورة حياة الكائن chat
<?php
namespace MyApp;
use Ratchet\MessageComponentInterface;
use Ratchet\ConnectionInterface;
class Chat implements MessageComponentInterface {
public function onOpen(ConnectionInterface $conn) {
}
public function onMessage(ConnectionInterface $from, $msg) {
}
public function onClose(ConnectionInterface $conn) {
}
public function onError(ConnectionInterface $conn, \Exception $e) {
}
}
الكود السابق يتم فيه وضع المنطق الذي نريد تنفيذه, مثلاً ماذا يحدث عند إتصال عميل, ماذا يحدث عند إنقطاع إتصال عميل, إلخ, نقوم بعمل ملف يقوم بإستدعاء ملفات ال chat والذي سنقوم بتشغيله
<?php
use Ratchet\Server\IoServer;
use MyApp\Chat;
require dirname(__DIR__) . '/vendor/autoload.php';
$server = IoServer::factory(
new Chat(),
8080
);
$server->run();
ويمكنك القراءة مزيداً من خلال الموقع الخاص بالمكتبة
مجتمع لمناقشة وتبادل الخبرات حول تطوير الويب. ناقش أحدث التقنيات، اللغات، والأدوات في عالم تطوير المواقع والتطبيقات. شارك مشاريعك، اسأل عن نصائح، وتعاون مع مطورين محترفين وهواة.
التعليقات