
هذه المقالة التي سنتعلمها هي: كيفية تثبيت وتشغيل خادم الويب swoft.
هذه المقالة هي واحدة من سلسلة من المقالات على خادم Swoft WebSocket. دعنا نتعلم عن Swoft!
ما هو Swoft؟
Swoft هو إطار PHOTO microservice عالي الأداء. تم نشره لسنوات عديدة وأصبح الخيار الأفضل لـ php.
يمكن أن يكون مثل Go ، خادم الويب coroutine المدمج والعميل coroutine المشترك ويقيم في الذاكرة ، مستقلة عن PHP-FPM التقليدية.
هناك عمليات مماثلة للغة Go ، مشابهة للشروح المرنة لإطار Spring Cloud.
من خلال ثلاث سنوات من التراكم واستكشاف الاتجاهات ، جعلت Swoft Swoft the Spring Cloud في عالم PHP ، وهو الخيار الأفضل لإطار عمل PHP عالي الأداء وإدارة الخدمات المصغرة.
جيثب
إنشاء مشروع جديد
استخدم أداة swoft-cli
لإنشاء مشروع جديد لـ Websocket.
php swoftcli.phar create:app --type ws swoft-ws-app cd swoft-ws-app composer install
بدء الخادم
بدء تشغيل خادم Websocket باستخدام php bin/swoft ws:start
command ، يمكنك رؤية أدناه :
$ php bin/swoft ws:start Information Panel ******************************************************************************************* * WebSocket | Listen: 0.0.0.0:18308, type: TCP, mode: Process, worker: 8 *******************************************************************************************
ميناء Websocket قطع هو 18308
وحدة
استخدم أداة swoft-cli
لإنشاء وحدة Websocket جديدة.
php swoftcli.phar gen:ws-mod echo --prefix /echo
رمز وحدة الصدى ( app/WebSocket/EchoModule.php
) مثل هذا:
<?php declare(strict_types=1); namespace App\WebSocket; use Swoft\Http\Message\Request; use Swoft\Http\Message\Response; use Swoft\WebSocket\Server\Annotation\Mapping\WsModule; use Swoft\WebSocket\Server\Annotation\Mapping\OnOpen; use Swoft\WebSocket\Server\Annotation\Mapping\OnHandshake; use Swoole\WebSocket\Server; class EchoModule { public function checkHandshake(Request $request, Response $response): array {
اختبار
هنا استخدم swoft-devtool
لتوصيل خادم WebSocket.
استخدم php bin/swoft dclient:ws /echo
الأمر php bin/swoft dclient:ws /echo
في مكون swoft-devtool
لتوصيل خادم WebSocket ، يمكنك أن ترى رسالة نجاح الاتصال كما هو موضح أدناه.
Begin connecting to websocket server: 127.0.0.1:18308 path: /echo Success connect to websocket server. Now, you can send message INTERACTIVE ================================================================================ server> ?Opened, welcome #1! client> hi server> Recv: hi client>
جيثب