国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

??
1. ?? ?? ??
2. 配置 WebSocket
3. 實(shí)現(xiàn) WebSocket
4. 運(yùn)行 WebSocket
5. 測試 WebSocket
? PHP ????? ThinkPHP ThinkPHP6?? WebSocket ????

ThinkPHP6?? WebSocket ????

Jun 21, 2023 pm 12:49 PM
thinkphp ???? ?? websocket

??? ??? ??? ??? ???? ???? ???? ??? ?? ??? ?? ???? ??? ?? ??????. ??? ??? ??? ?? ??? ????? WebSocket ????? ??? ??, ??? ?? ? ?? ?? ????? ??? ??? ??? ?? ?? ?????? ???? ????? ?????. ??? ? ????? WebSocket? ???? ??? ??? ???? ??? ??? ???.

PHP??? Swoole ??? ???? WebSocket ??? ??? ? ????. ??? Swoole? ???? ???? ?? ?? ??? ??? ?????. Swoole? ???? ?? ?? ???? ?? ?? ??? ????? ????.

??? ThinkPHP6?? WebSocket? ???? ??? ???????.

1. ?? ?? ??

ThinkPHP6?? WebSocket? ???? ?? topthink/thinker ?? ??? ???? ???. topthink/thinker 擴(kuò)展。

composer require topthink/thinker:dev-master

topthink/thinker 是一個(gè)命令行工具,用于在 ThinkPHP6 中運(yùn)行 PHP 代碼和管理異步任務(wù)。

2. 配置 WebSocket

我們需要在項(xiàng)目的配置文件 config/socket.php 中配置 WebSocket。

<?php
return [
    // WebSocket服務(wù)器地址,使用內(nèi)網(wǎng)穿透時(shí)填寫內(nèi)網(wǎng)地址
    'server' => '127.0.0.1:9501',

    // WebSocket的應(yīng)用類,需要實(shí)現(xiàn)     hinkworkerServer 接口
    'worker_class' => 'appcontrollerWebSocket',
];

我們需要指定 server 的地址以及實(shí)現(xiàn) Server 接口的類 worker_class,在這里我們將實(shí)現(xiàn) WebSocket 功能的控制器類命名為 WebSocket,放在 appcontroller 目錄下。

3. 實(shí)現(xiàn) WebSocket

我們在 appcontroller 目錄下創(chuàng)建一個(gè)名為 WebSocket 的控制器,在控制器中實(shí)現(xiàn) Server 接口。

<?php
namespace appcontroller;

use thinkworkerServer;

class WebSocket implements Server
{
    protected $socket = 'websocket://127.0.0.1:9501';

    public function onMessage($connection, $data)
    {
        foreach ($this->worker->connections as $conn) {
            $conn->send('user ' . $connection->id . ' said: ' . $data);
        }
    }

    public function onConnect($connection)
    {
        echo "new connection from ip " . $connection->getRemoteIp() . "
";
    }

    public function onClose($connection)
    {
        echo "connection closed: " . $connection->id . "
";
    }

    public function onWorkerStart($worker)
    {
        // 初始化
    }
}

WebSocket 控制器類中,我們需要實(shí)現(xiàn) onMessage、onConnectonCloseonWorkerStart 四個(gè)方法。

  • onMessage: 當(dāng)客戶端發(fā)送數(shù)據(jù)時(shí),會(huì)觸發(fā) onMessage 方法,參數(shù) $connection 表示客戶端的連接對象,$data 表示客戶端發(fā)送的數(shù)據(jù)。
  • onConnect: 在客戶端連接的時(shí)候會(huì)觸發(fā) onConnect 方法,參數(shù) $connection 表示客戶端的連接對象。
  • onClose: 在客戶端斷開連接的時(shí)候會(huì)觸發(fā) onClose 方法,參數(shù) $connection 表示客戶端的連接對象。
  • onWorkerStart: 在工作進(jìn)程啟動(dòng)的時(shí)候會(huì)觸發(fā) onWorkerStart 方法,參數(shù) $worker 表示當(dāng)前工作進(jìn)程的對象。

4. 運(yùn)行 WebSocket

配置好 WebSocket 之后,我們可以使用 think 命令來啟動(dòng) WebSocket。

php think worker:start

上述命令會(huì)啟動(dòng)一個(gè) WebSocket 服務(wù),并在控制臺(tái)輸出運(yùn)行日志。

5. 測試 WebSocket

WebSocket 實(shí)現(xiàn)之后,我們可以使用 WebSocket 的客戶端進(jìn)行測試。我們可以使用 Chrome 瀏覽器并安裝 Simple WebSocket Client 插件來進(jìn)行測試。在插件中輸入 WebSocket 服務(wù)器的地址,點(diǎn)擊連接,即可開始使用 WebSocket 通信。

Simple WebSocket Clientrrreee

topthink/thinker? ThinkPHP6?? PHP ??? ???? ??? ??? ???? ?? ??? ?????.

2. WebSocket ??

???? ?? ?? config/socket.php?? WebSocket? ???? ???. ??rrreee?? server? ??? Server ?????? ???? worker_class ???? ???? ???. ???? ?? ???? ???? ??? ?????. WebSocket ??? ?????. ?? WebSocket?? appcontroller ????? ????. ????3. WebSocket ?????? appcontroller ????? WebSocket??? ????? ???? ????? Server ?????? ?????. ??rrreee?? WebSocket ???? ????? onMessage, onConnect, onClose ? ? ???? ???. onWorkerStart ? ?? ???. ??
  • onMessage: ?????? ???? ??? onMessage ???? ??????. $connection ????? ?????? ???? ?????. ?? ??, $data? ?????? ?? ???? ?????.
  • onConnect: onConnect ???? ?????? ??? ? ??????. $connection ????? ?????? ?? ??? ?????. .
  • onClose: ????? ??? ???? onClose ???? ??????. $connection ????? ?????? ??? ?????. ??.
  • onWorkerStart: onWorkerStart ???? ??? ????? ??? ? ??????. $worker ????? ??? ?????. ?? ??? ????.
??4. WebSocket ??????WebSocket? ??? ? think ??? ???? WebSocket? ??? ? ????. ??rrreee??? ??? WebSocket ???? ???? ??? ?? ??? ?????. ????5. WebSocket ???????WebSocket? ??? ??? WebSocket ?????? ???? ???? ? ????. ???? ?? Chrome ????? ???? Simple WebSocket Client ????? ??? ? ????. ????? WebSocket ??? ??? ???? Connect? ???? WebSocket ??? ?????. ????Simple WebSocket Client?? ??? ???? ??? ???? ????? ??? ?? ??? ???? WebSocket ??? ????? ???? ??? ? ? ????. ??????????? ???? ThinkPHP6?? WebSocket? ???? ??? ??????. WebSocket ????? ??? ??? ???? ?????? ?? ????? ?? ??????. ?? ????? WebSocket? ???? ??? ?? ??? ?? ??? ?? ???? ??? ??? ???? ? ????. ??

? ??? ThinkPHP6?? WebSocket ????? ?? ?????. ??? ??? PHP ??? ????? ?? ?? ??? ?????!

? ????? ??
? ?? ??? ????? ???? ??? ??????, ???? ?????? ????. ? ???? ?? ???? ?? ??? ?? ????. ???? ??? ???? ???? ??? ?? admin@php.cn?? ?????.

? AI ??

Undresser.AI Undress

Undresser.AI Undress

???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover

AI Clothes Remover

???? ?? ???? ??? AI ?????.

Video Face Swap

Video Face Swap

??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

???

??? ??

???++7.3.1

???++7.3.1

???? ?? ?? ?? ???

SublimeText3 ??? ??

SublimeText3 ??? ??

??? ??, ???? ?? ????.

???? 13.0.1 ???

???? 13.0.1 ???

??? PHP ?? ?? ??

???? CS6

???? CS6

??? ? ?? ??

SublimeText3 Mac ??

SublimeText3 Mac ??

? ??? ?? ?? ?????(SublimeText3)

???

??? ??

??? ????
1601
29
PHP ????
1502
276
???
vscode settings.json ?? vscode settings.json ?? Aug 01, 2025 am 06:12 AM

settings.json ??? ??? ?? ?? ?? ?? ?? ??? ??? VSCODE ??? ??? ???? ? ?????. 1. ??? ?? ?? : Windows? C : \ Users \\ AppData \ Roaming \ Code \ User \ Settings.json, MacOS IS /users//library/applicationsupport/code/user/settings.json, linux? /home//.config/code/user/settings.json; 2. Workspace ?? ?? : .vscode/settings project root ????

??? ?? ?? ?? ??? ?? ??? ?? ?? ?? ??? ?? Jul 30, 2025 am 03:32 AM

DateTime.strpTime ()? ???? ?? ???? DateTime ??? ??????. 1. ?? ?? : "%y-%m-%d"? ?? DateTime ???? "2023-10-05"; 2. ?? ??? "%m/%d/%y", "%d/%m/%y", ?? ??? ?? ???? ?? "%b%d,%y%i :%m%p"? ?? ?? ??? ?????. 3. dateUtil.parser.parse ()? ???? ? ??? ??? ???? ?????. 4. ?? .D

CSS ?? ?? ?? ?? CSS ?? ?? ?? ?? Jul 30, 2025 am 05:36 AM

?, ?? CSS ?? ?? ??? JavaScript??? ??? HTML ? CSS? ?? ??? ? ????. 1. ?? UL? Li? ???? ?? ??? ??????. 2. ?? ?? ???? ???? ?????? ???? ??? ???? ???; 3. ?? ?? : ?? Li? ???, ?? ??? ??? ???? ?????. ??; 4. ?? ??? ???? ??? : ??, ????????? : ???? ??; 5. ?? ?? ???? ??? ?? ????, ??? ????, ??? ? ?????? ???? ??? ????? ??? ???? ??? ? ????. ?? ???? ???? JavaScript ??? ???? ???? ??? ?????.

Python itertools ?? ?? Python itertools ?? ?? Jul 31, 2025 am 09:53 AM

itertools.combinations? ?? ??? ???? ??? ?? ??? ???? ?? ? ?? ?? (?? ???)? ???? ? ?????. ???? ??? ????. 1. ?? ??? ??? ?? ( 'a', 'b'), ( 'a', 'c') ? ???? 2 ?? ?? ??? ?????. 2. ?? ??? ??? "ABC"? "ABD"? ?? ???? 3 ? ??? ???; 3. ? ??? ?? 1 5 = 6? ?? ?? ?? ??? ??? ?????. ?? ?? ??? ???????. ??? ??? ??? ??? ???? ??????, ??? AB? BA? ???? ???? ??, ??? ?? ??? ????.

??? ????? ETL ? Python ??? ????? ETL ? Python Aug 02, 2025 am 08:48 AM

Python? ETL ????? ???? ???? ?????. 1. ??? ?? : ??????, API, ?? ? ?? ???? Pandas, Sqlalchemy, ?? ? ?? ?????? ?? ???? ?? ? ? ????. 2. ??? ?? : ??, ?? ??, ???, ?? ? ?? ??? ??? ???? ??? ??? ???? ??? ??????. 3. ??? ?? : Pandas 'To_SQL ??? ?? ???? ??? SDK? ???? ?? ???? ???? ???? ?? ?? ? ?? ?????? ?????. 4. ?? ?? ?? : ?? ??, Dagster, Prefect? ???? ???? ? ??? ???? ?? ?? ? ?? ??? ???? ???? ?? ??? ??????.

??? ?? ????? ?? ??? ?? ????? ?? Jul 30, 2025 am 02:17 AM

@Property Decorator? ??? ??, ?? ? ?? ??? ???? ?? ???? ???? ???? ? ?????. 1. ?? ?? : @property? ?? ?? ?? ??? ????, ?? ?? ??? ???? ???? ?? ????? ??; 2. ?? ?? : @name.setter ? @name.deleter? ???? ?? ?? ?? ? ?? ??? ?????. 3. ?? ?? ???? : BankAccount? ?? ???? ??? ??? ???? ??? ??? ??? ??????. 4. ?? ?? ?? : ?? ??? ????? ?? ??? ??? ??? ???? ?? ??? ??? ?? ?? ? ?? ??? ?????.

Python Pytest Fixture ?? Python Pytest Fixture ?? Jul 31, 2025 am 09:35 AM

???? ?? ?? ?? ?? ???? ?? ???? ???? ? ???? ?????. 1. @pytest.fixture ?????? ???? ???? ??????. 2. ??? ???? ???? ??? ???? ??; 3. ?? ?? ??? ?? ? ?? ??; 4. ??, ?? ?? ?? ?? ?? ??? ?? ?? ??; 5. ?? ???? Conftest.py? ???? ??? ?? ??? ???? ???? ?? ?? ? ??? ?? ??????.

???? MAC ?? ??? ???? ???? MAC ?? ??? ???? Jul 30, 2025 am 02:59 AM

UUID ??? ???? ?? ?????? ???? ??? ??? ??? ? ?? ???? ??? MAC ??? ?? UUID.getNode ()? ?? ?? ???? ??????. 2. ?? ????? ???? IPConfig ?? ifconfig? ?? ??? ??? ???? ?? ???? ?? MAC ??? ??? ? ??? ???? ?? ???? ?? ??? ????? ????? ?????. 3. ?? ????? GetMac? ???? ?? ? get_mac_address ()? ???? Mac? ???? ????? ?? IP? ??? ????? ?? ???? ?????. ???? ?? ?????? ???? ??? UUID ??? ?????. ?? ???? ?? ??? ???? ????? ?? ?? ???? ???? ???? ??? getma? ??? ? ????.

See all articles