正在显示
5 个修改的文件
包含
66 行增加
和
9 行删除
| @@ -146,11 +146,6 @@ class LoginController extends BaseController | @@ -146,11 +146,6 @@ class LoginController extends BaseController | ||
| 146 | // $message = file_get_contents("php://input"); | 146 | // $message = file_get_contents("php://input"); |
| 147 | // $message = simplexml_load_string($message, 'SimpleXMLElement', LIBXML_NOCDATA | LIBXML_NOERROR); | 147 | // $message = simplexml_load_string($message, 'SimpleXMLElement', LIBXML_NOCDATA | LIBXML_NOERROR); |
| 148 | // @file_put_contents(storage_path('logs/lyh_error.log'), $message . PHP_EOL, FILE_APPEND); | 148 | // @file_put_contents(storage_path('logs/lyh_error.log'), $message . PHP_EOL, FILE_APPEND); |
| 149 | - app('swoole')->on('request', function (Request $request, Response $response) { | ||
| 150 | - Res->header('Content-Type', 'text/plain'); | ||
| 151 | - $response->end('Hello, Swoole!'); | ||
| 152 | - }); | ||
| 153 | - event(new WebSocketMessage('Hello, WebSocket!')); | ||
| 154 | $this->response('success'); | 149 | $this->response('success'); |
| 155 | } | 150 | } |
| 156 | 151 |
| 1 | -1xWNlADruLkCMOlVWI2uVnNaYm6UnX_6GQ0Wx_SmRqg.92MgafohR-efXZG8zg-WR8yML77JCdeEYaR31-KS-Nk |
| 1 | -HmjSZWq4S3E3RCo2PAFNo1_TX4pEq31aEnO54PqkG7s.92MgafohR-efXZG8zg-WR8yML77JCdeEYaR31-KS-Nk |
public/websocket_server.php
0 → 100644
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +use Swoole\WebSocket\Server; | ||
| 4 | +use Illuminate\Foundation\Application; | ||
| 5 | +use SwooleTW\Http\Websocket\Facades\Websocket; | ||
| 6 | + | ||
| 7 | +use App\Http\Controllers\WebSocketController; | ||
| 8 | + | ||
| 9 | +require __DIR__ . '/vendor/autoload.php'; | ||
| 10 | + | ||
| 11 | +$app = new Application(__DIR__); | ||
| 12 | +$app->singleton( | ||
| 13 | + Illuminate\Contracts\Http\Kernel::class, | ||
| 14 | + App\Http\Kernel::class | ||
| 15 | +); | ||
| 16 | +$app->singleton( | ||
| 17 | + Illuminate\Contracts\Console\Kernel::class, | ||
| 18 | + Illuminate\Foundation\Console\Kernel::class | ||
| 19 | +); | ||
| 20 | +$app->singleton( | ||
| 21 | + Illuminate\Contracts\Debug\ExceptionHandler::class, | ||
| 22 | + Illuminate\Foundation\Exceptions\Handler::class | ||
| 23 | +); | ||
| 24 | +$app->make(Illuminate\Contracts\Console\Kernel::class)->bootstrap(); | ||
| 25 | + | ||
| 26 | +$server = new Server("0.0.0.0", 8888); | ||
| 27 | + | ||
| 28 | +$server->on('open', function ($server, $request) { | ||
| 29 | + // WebSocket 连接已打开 | ||
| 30 | + echo "WebSocket 连接已打开\n"; | ||
| 31 | +}); | ||
| 32 | + | ||
| 33 | +$server->on('message', function ($server, $frame) { | ||
| 34 | + $message = $frame->data; | ||
| 35 | + echo "收到消息: $message\n"; | ||
| 36 | + | ||
| 37 | + // 获取客户端连接的文件描述符 | ||
| 38 | + $fd = $frame->fd; | ||
| 39 | + | ||
| 40 | + // 回复消息给客户端 | ||
| 41 | + $response = "我已收到消息: $message"; | ||
| 42 | + $server->push($fd, $response); | ||
| 43 | + | ||
| 44 | + | ||
| 45 | + // 获取所有客户端连接的文件描述符 | ||
| 46 | + $clients = $server->connection_list(); | ||
| 47 | + | ||
| 48 | + // 迭代所有客户端连接并广播消息 | ||
| 49 | + foreach ($clients as $fd) { | ||
| 50 | + // 排除自己,避免回发消息给发送者 | ||
| 51 | + if ($fd !== $frame->fd) { | ||
| 52 | + $server->push($fd, "这是广播消息: $message"); | ||
| 53 | + } | ||
| 54 | + } | ||
| 55 | + | ||
| 56 | + //调用laravel控制器 | ||
| 57 | + $controller = new WebSocketController(); | ||
| 58 | + | ||
| 59 | +}); | ||
| 60 | + | ||
| 61 | +$server->on('close', function ($server, $fd) { | ||
| 62 | + // WebSocket 连接已关闭 | ||
| 63 | + echo "WebSocket 连接已关闭\n"; | ||
| 64 | +}); | ||
| 65 | + | ||
| 66 | +$server->start(); |
| @@ -14,7 +14,6 @@ use SwooleTW\Http\Websocket\Facades\Websocket; | @@ -14,7 +14,6 @@ use SwooleTW\Http\Websocket\Facades\Websocket; | ||
| 14 | */ | 14 | */ |
| 15 | 15 | ||
| 16 | Websocket::on('connect', function ($websocket, Request $request) { | 16 | Websocket::on('connect', function ($websocket, Request $request) { |
| 17 | - | ||
| 18 | @file_put_contents(storage_path('logs/lyh_error.log'), var_export(111111, true) . PHP_EOL, FILE_APPEND); | 17 | @file_put_contents(storage_path('logs/lyh_error.log'), var_export(111111, true) . PHP_EOL, FILE_APPEND); |
| 19 | // called while socket on connect | 18 | // called while socket on connect |
| 20 | }); | 19 | }); |
| @@ -31,7 +30,6 @@ Websocket::on('example', function ($websocket, $data) { | @@ -31,7 +30,6 @@ Websocket::on('example', function ($websocket, $data) { | ||
| 31 | 30 | ||
| 32 | Websocket::on('message', function ($websocket, $data) { | 31 | Websocket::on('message', function ($websocket, $data) { |
| 33 | // 处理接收到消息时的逻辑 | 32 | // 处理接收到消息时的逻辑 |
| 34 | - | ||
| 35 | // 假设 $data 是客户端发送过来的数据 | 33 | // 假设 $data 是客户端发送过来的数据 |
| 36 | // 在这里您可以根据接收到的消息进行处理 | 34 | // 在这里您可以根据接收到的消息进行处理 |
| 37 | @file_put_contents(storage_path('logs/lyh_error.log'), var_export(4444444, true) . PHP_EOL, FILE_APPEND); | 35 | @file_put_contents(storage_path('logs/lyh_error.log'), var_export(4444444, true) . PHP_EOL, FILE_APPEND); |
-
请 注册 或 登录 后发表评论