国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

windows workerman作為 客戶端 tcp模擬http請(qǐng)求后,顯示 @@@child exit@@@ Worker process terminated并直接退出

ken124
$worker->onConnect = function($connection){
    $connection->onMessage = function( $connection ){
        $host = "xxx.xxx.xxx.xxx:xxx";
        $bw = "POST / HTTP/1.1
Host:$host
Connection:keep-alive
Content-Type:application/json;charset=UTF-8
Content-Length:0

";

        $http_connect = new AsyncTcpConnection("tcp://$host");

        $http_connect->onConnect = function( $connection ) use ( $bw ){
            echo "握手成功";
            $connection->send( $bw );
        };

        $http_connect->onMessage = function( $http_connection , $response ) use ( $connection ){
            var_dump( $response );
            $http_connection->close();
            $connection->send( $response );
            $connection->close();
        };

        $http_connect->connect();

        return ;

    };
};

簡(jiǎn)略代碼如上
環(huán)境 windows 10,php8 , 命令行 php server.php 啟動(dòng)
可以獲取到服務(wù)端的信息,但是馬上就顯示
@@@child exit@@@
Worker process terminated
然后 主程序關(guān)閉
日志 也只顯示
pid:1 Worker process terminated

有試過 try catch 在不同 閉包下 捕獲,沒有任何異常

本人使用學(xué)習(xí) workerman 僅三周 ,歡迎指正

2449 4 0
4個(gè)回答

ken124

剛看完TI10, 回來補(bǔ)充下 開發(fā)的想法,我發(fā)現(xiàn)自己彎沒轉(zhuǎn)過來,既然 workerman 的 http請(qǐng)求 我自己做不好,那我就用老辦法 curl 或 fsockopen啊,明天試試

  • 暫無評(píng)論
喵了個(gè)咪

看看是不是哪里執(zhí)行exit die 了,我這測(cè)試沒出現(xiàn)啥錯(cuò)誤。下面是測(cè)試代碼和結(jié)果

<?php
require_once __DIR__ . '/vendor/autoload.php';
use Workerman\Worker;
use Workerman\Connection\AsyncTcpConnection;

$worker = new Worker('http://0.0.0.0:12345');
$worker->onConnect = function($connection){
    $connection->onMessage = function( $connection ){
        $host = "baidu.com";
        $bw = "POST / HTTP/1.1
Host:$host
Connection:keep-alive
Content-Type:application/json;charset=UTF-8
Content-Length:0

";
        $http_connect = new AsyncTcpConnection("tcp://$host");
        $http_connect->onConnect = function( $connection ) use ( $bw ){
            echo "握手成功";
            $connection->send( $bw );
        };
        $http_connect->onMessage = function( $http_connection , $response ) use ( $connection ){
            var_dump( $response );
            $http_connection->close();
            $connection->send( $response );
            $connection->close();
        };
        $http_connect->connect();
        return ;
    };
};
Worker::runAll();

測(cè)試結(jié)果。
截圖

  • ken124 2021-10-18

    如果是這樣的話,我大概率可以確定是php.ini 或者 是 php 是否為安全線程有關(guān)了

ken124

@喵了個(gè)咪:

你的代碼沒問題,我也能獲取 結(jié)果,
但是馬上就 顯示
@@@child exit@@@
Worker process terminated

所以,經(jīng)過一個(gè)下午的排查 ,php.ini 沒問題,所以 我現(xiàn)在懷疑 是不是 跟 php的 安全線程有關(guān) 或者 是 event 擴(kuò)展版本 有關(guān),

問下 你的 evnet 擴(kuò)展版本 和 php是 TS 還是 NTS

ken124

在 喵了個(gè)咪 的幫助下,經(jīng)過驗(yàn)證,就是因?yàn)槲壹尤肓?evnet擴(kuò)展 導(dǎo)致的

總結(jié)來說

windows10 , php8 加 event擴(kuò)展(版本號(hào)為 3.0.6和3.0.5)這個(gè)前提下

導(dǎo)致 用 AsyncTcpConnection 對(duì)象 tcp模擬http請(qǐng)求之后 程序會(huì)退出

  • 暫無評(píng)論
年代過于久遠(yuǎn),無法發(fā)表回答
??