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

底層Http類(lèi)無(wú)法解析請(qǐng)求數(shù)據(jù)

多多

為什么創(chuàng)建一個(gè)http服務(wù),向游覽器發(fā)送數(shù)據(jù),打包tcp服務(wù)為http過(guò)程中,為什么我在Http類(lèi),打印任何方法都不能斷點(diǎn)。這里和緩沖有什么關(guān)系嗎?

3414 5 0
5個(gè)回答

phpcreeper

肯定可以var_dump之類(lèi)的打印,但是絕對(duì)不要 die 或 exit 斷點(diǎn)調(diào)試.

  • 多多 2018-12-10

    沒(méi)有die,但是就是打印不出來(lái),換了ws也不行,

  • phpcreeper 2018-12-10

    加了調(diào)試代碼后,重啟服務(wù)了嗎?

  • 多多 2018-12-10

    @614:重啟了呢

多多

[attach]1482[/attach]

[attach]1483[/attach]

[attach]1484[/attach]

[attach]1485[/attach]
?

  • phpcreeper 2018-12-10

    看不到你完整代碼,你第一張圖那段代碼貌似是裸tcp在通信吧,如果是的話那肯定打印不出來(lái),因?yàn)閑ncode那個(gè)方法是websocket應(yīng)用層協(xié)議的封裝實(shí)現(xiàn)。

  • 多多 2018-12-10

    大佬啥叫裸tcp協(xié)議,我服務(wù)端是這種$tcp_worker = new Worker("websocket://192.168.0.111:2348"); 前臺(tái)是 ws = new WebSocket("ws://192.168.0.111:2348");

  • 多多 2018-12-10

    @614:郁悶了,怎么試都不行

  • 多多 2018-12-10

    @614:開(kāi)的是虛擬機(jī)

  • phpcreeper 2018-12-10

    1、你用的 new Worker("websocket://192.168.0.111:2348"); 那就是啟動(dòng)是 websocket 服務(wù),你貼這句代碼之前,我是根據(jù)你變量名猜測(cè)的。
    2、至于啥是裸tcp協(xié)議啟動(dòng),就是指直接這樣啟動(dòng) new Worker("tcp://192.168.0.111:2348");

  • phpcreeper 2018-12-10

    1、絕對(duì)可以打印的,我經(jīng)常這樣debug呢,也沒(méi)見(jiàn)你說(shuō)的問(wèn)題啊,肯定是有哪里細(xì)節(jié)沒(méi)注意到。
    2、對(duì)于websocket這樣的應(yīng)用層協(xié)議,調(diào)用$connection->send($data, $raw = false)方法, 在 $raw == false的情況下,統(tǒng)統(tǒng)都是要路由到對(duì)應(yīng)應(yīng)用層協(xié)議的 encode()方法的
    3、實(shí)在不行,你逐步的老辦法調(diào)試打印。

  • 多多 2018-12-10

    @614:大佬是不是自動(dòng)加載問(wèn)題,我還是不行,方法都進(jìn)不去

  • 多多 2018-12-10

    @614:真的好奇怪

多多

[attach]1492[/attach]

[attach]1491[/attach]

[attach]1493[/attach]
?

  • phpcreeper 2018-12-10

    還不好使嗎?方便的話,你保留調(diào)試代碼然后整體打個(gè)包,我運(yùn)行下看~~

  • 多多 2018-12-10

    @614:我傳了

多多

11

  • 暫無(wú)評(píng)論
phpcreeper
 37     public static function input($recv_buffer, TcpConnection $connection)
 38     {
 39         var_dump(4234);die;                                                                                                                     
 40         if (!strpos($recv_buffer, "\r\n\r\n")) {
 41             // Judge whether the package length exceeds the limit.
 42             if (strlen($recv_buffer) >= $connection->maxPackageSize) {
 43                 $connection->close();
 44                 return 0;
 45             }
 46             return 0;
 47         }

1、一開(kāi)始就給你說(shuō)了,禁止在代碼里die 或者? exit , 你說(shuō)你第39行代碼那是啥。
2、去掉 die 之后,任意var_dump 一切正常。

  • 多多 2018-12-10

    額,可我去掉encode方法里面還是沒(méi)有數(shù)據(jù)啊?

  • 多多 2018-12-10

    public static function encode($content, TcpConnection $connection)
    {

        var_dump(2222222).PHP_EOL;
        // Default http-code.
  • phpcreeper 2018-12-10

    你咋玩的啊? 我拿你的代碼跑的,去掉那個(gè)die后,一點(diǎn)問(wèn)題都沒(méi)有。

  • 多多 2018-12-10

    @614:我想用命令行打出上面那個(gè)字符,用curl獲取游覽器請(qǐng)求都進(jìn)步到encode方法里面

  • phpcreeper 2018-12-10

    提個(gè)建議:
    1、和 curl 沒(méi)有什么關(guān)系,你啟用了http服務(wù),瀏覽器或者curl 作為不同的客戶(hù)端,都能發(fā)送http請(qǐng)求,測(cè)試一樣樣。
    2、我最后能想到的就是你本地是不是開(kāi)啟了 opcache之類(lèi)的加速模塊,如果沒(méi)有那基本可以斷定就是你本地環(huán)境哪里還是有問(wèn)題的,你給的代碼我也幫你跑過(guò)了,沒(méi)有什么問(wèn)題。
    3、這個(gè)也真不是什么技術(shù)難題,你不用太過(guò)于糾結(jié)這個(gè)地方,建議你把同樣的代碼部署到另外一臺(tái)機(jī)器泡一下,這也能很好的驗(yàn)證是不是部署環(huán)境的問(wèn)題。
    4、無(wú)論怎樣,我都可以非常肯定說(shuō):workerman內(nèi)核里的任何一個(gè)腳本代碼都是可以var_dump調(diào)試的,但是堅(jiān)決禁止 die 或者 exit, 這是多進(jìn)程編程模型的要求,不這么干進(jìn)程就會(huì)退出,就會(huì)出現(xiàn)意想不到的結(jié)果。

年代過(guò)于久遠(yuǎn),無(wú)法發(fā)表回答
??