作者 lyh

gx

... ... @@ -146,11 +146,6 @@ class LoginController extends BaseController
// $message = file_get_contents("php://input");
// $message = simplexml_load_string($message, 'SimpleXMLElement', LIBXML_NOCDATA | LIBXML_NOERROR);
// @file_put_contents(storage_path('logs/lyh_error.log'), $message . PHP_EOL, FILE_APPEND);
app('swoole')->on('request', function (Request $request, Response $response) {
Res->header('Content-Type', 'text/plain');
$response->end('Hello, Swoole!');
});
event(new WebSocketMessage('Hello, WebSocket!'));
$this->response('success');
}
... ...
1xWNlADruLkCMOlVWI2uVnNaYm6UnX_6GQ0Wx_SmRqg.92MgafohR-efXZG8zg-WR8yML77JCdeEYaR31-KS-Nk
\ No newline at end of file
HmjSZWq4S3E3RCo2PAFNo1_TX4pEq31aEnO54PqkG7s.92MgafohR-efXZG8zg-WR8yML77JCdeEYaR31-KS-Nk
\ No newline at end of file
<?php
use Swoole\WebSocket\Server;
use Illuminate\Foundation\Application;
use SwooleTW\Http\Websocket\Facades\Websocket;
use App\Http\Controllers\WebSocketController;
require __DIR__ . '/vendor/autoload.php';
$app = new Application(__DIR__);
$app->singleton(
Illuminate\Contracts\Http\Kernel::class,
App\Http\Kernel::class
);
$app->singleton(
Illuminate\Contracts\Console\Kernel::class,
Illuminate\Foundation\Console\Kernel::class
);
$app->singleton(
Illuminate\Contracts\Debug\ExceptionHandler::class,
Illuminate\Foundation\Exceptions\Handler::class
);
$app->make(Illuminate\Contracts\Console\Kernel::class)->bootstrap();
$server = new Server("0.0.0.0", 8888);
$server->on('open', function ($server, $request) {
// WebSocket 连接已打开
echo "WebSocket 连接已打开\n";
});
$server->on('message', function ($server, $frame) {
$message = $frame->data;
echo "收到消息: $message\n";
// 获取客户端连接的文件描述符
$fd = $frame->fd;
// 回复消息给客户端
$response = "我已收到消息: $message";
$server->push($fd, $response);
// 获取所有客户端连接的文件描述符
$clients = $server->connection_list();
// 迭代所有客户端连接并广播消息
foreach ($clients as $fd) {
// 排除自己,避免回发消息给发送者
if ($fd !== $frame->fd) {
$server->push($fd, "这是广播消息: $message");
}
}
//调用laravel控制器
$controller = new WebSocketController();
});
$server->on('close', function ($server, $fd) {
// WebSocket 连接已关闭
echo "WebSocket 连接已关闭\n";
});
$server->start();
... ...
... ... @@ -14,7 +14,6 @@ use SwooleTW\Http\Websocket\Facades\Websocket;
*/
Websocket::on('connect', function ($websocket, Request $request) {
@file_put_contents(storage_path('logs/lyh_error.log'), var_export(111111, true) . PHP_EOL, FILE_APPEND);
// called while socket on connect
});
... ... @@ -31,7 +30,6 @@ Websocket::on('example', function ($websocket, $data) {
Websocket::on('message', function ($websocket, $data) {
// 处理接收到消息时的逻辑
// 假设 $data 是客户端发送过来的数据
// 在这里您可以根据接收到的消息进行处理
@file_put_contents(storage_path('logs/lyh_error.log'), var_export(4444444, true) . PHP_EOL, FILE_APPEND);
... ...