أنا أحاول أن أجعل قاعدة خادم Socket على laravel-ratchet .
خطوات التثبيت المنفذة من git:
1."composer require askedio/laravel-ratchet"
2. "$ php artisan vendor:publish --provider="Askedio\LaravelRatchet\Providers\LaravelRatchetServiceProvider"
ثم أدخل ive عنوان الفصل في app.php مثل هذا:
Askedio\LaravelRatchet\Providers\LaravelRatchetServiceProvider::class,
الآن من خلال هذه المساعدة ، قمت بإنشاء فئة IoServer للمقبس البسيط في مجلد التطبيق ( التطبيق / MyRatchetSocketServer ):
<?php
namespace App;
use Ratchet\ConnectionInterface;
use Askedio\LaravelRatchet\RatchetServer;
class MyRatchetSocketServer extends RatchetServer
{
public function onMessage(ConnectionInterface $conn, $input)
{
parent::onMessage($conn, $input);
if (!$this->throttled) {
$this->send($conn, 'Hello you.');
$this->sendAll('Hello everyone.');
$this->send($conn, 'Wait, I don\'t know you! Bye bye!');
$this->abort($conn);
}
}
}
ثم قام ive بتغيير /config/ratchet.php إلى هذا:
<?php
return [
'class' => \App\MyRatchetSocketServer::class,
'host' => '127.0.0.1',
'port' => '8989',
'connectionLimit' => false,
'throttle' => [
'onOpen' => '5:1',
'onMessage' => '20:1',
],
'abortOnMessageThrottle' => false,
'blackList' => [],
'zmq' => [
'host' => '127.0.0.1',
'port' => 5555,
'method' => \ZMQ::SOCKET_PULL,
],
];
وفي الجزء الأخير ، سأبدأ خدمتي بالخدمة:
php artisan ratchet:serve
ويعطي هذا الخطأ:
Starting WampServer server on: 0.0.0.0:8080
In RatchetServerCommand.php line 204:
Askedio\LaravelRatchet\Examples\Pusher must be an instance of Askedio\LaravelRatchet\RatchetWampServer to create a Wamp server
تخميني هو أن الأمر serve هو تجاوز ملف التكوين اسئلة.
أيضا إذا جربت هذا:
php artisan ratchet:serve --driver=IoServer --class="App\MyRachetSocketServer::class"
تغير الخطأ إلى هذا:
Starting IoServer server on: 0.0.0.0:8080
In RatchetServerCommand.php line 155:
Class 'App\MyRachetSocketServer::class' not found
مسار الملف صحيح (الصورة السفلية). لا أعرف ماذا لاختبار المقبل ؟!
ايم باستخدام Xamp ، Vscode ، Laravel 5.5.