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

接收的問題

a6965921
<?php

class iwanttolive extends Man\Core\SocketWorker
{
    /**
     * 確定包是否完整 return 0:完整 return X:還有X字節(jié)沒有接收完
     */

    public function onStart()
    {
        echo'啟動';
        global $suoyoushuju;
        $suoyoushuju=array();

    }
    public function dealInput($buffer)
    {
        // 如果最后一個字符是\n代表數(shù)據(jù)讀取完整,返回0
        if($buffer === "\n")
        {
            return 0;
        }

        // 說明還有請求數(shù)據(jù)沒收到,但是由于不知道還有多少數(shù)據(jù)沒收到,所以只能返回1,因為有可能下一個字符就是\n
        return 1;
    }

    /**
     * 處理業(yè)務,當客戶端數(shù)據(jù)接收完畢后觸發(fā)(這里只是將客戶端發(fā)來的字符串直接會寫到客戶端)
     */
    public function dealProcess($buffer)
    {

//        $bufferss=str_replace("\n","",$buffer);
        $bufferss=trim($buffer);
        global $suoyoushuju;
        $fanhui=array();
        array_push($suoyoushuju,$bufferss);
        echo '初始化所有數(shù)據(jù)';
        print_r($suoyoushuju);
        $ww=explode('&',$bufferss);
        $www=$ww;

        foreach ($suoyoushuju as $value) {
            echo '索引'.$www;
            echo '搜索范圍'.$value;
            if(strpos($value, $www)!=-1)
            {

                array_push($fanhui,$value);
                echo'符合條件的放入$fangzhu數(shù)組';
                print_r($fanhui);

            }
            else
            {
                echo '沒搜索到相應數(shù)據(jù)';
            }
        }

        return $this->sendToClient$fanhui);
    }

}

?>

比方說每次客戶端發(fā)送字符串給服務端 1234&few
服務端接收后放到$suoyoushuju
然后來遍歷$suoyoushuju 是否包含1234 如果有 就添加到$fanhui 這個再發(fā)回客戶端
上面代碼我運行了下。。。

明顯沒按照我的邏輯么第一次還會運行初始化 第二次發(fā)送就沒有了。。。

4378 3 0
3個回答

walkor 打賞

你的程序中有兩處錯誤

if(strpos($value, $www)!=-1)

strpos 永遠不會返回-1,返回值只有可能false或者不小于0的整數(shù)

return $this->sendToClient$fanhui);

這句有語法錯誤
并且sendToClient參數(shù)只能是字符串,否則會報錯

上面兩個錯誤解決后通過telnet測試(我開的是7473端口)運行結果如下

telnet 127.0.0.1 7473
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
1234&few
array (
0 => '1234&few',
)1234&few
array (
0 => '1234&few',
1 => '1234&few',
)1234&few
array (
0 => '1234&few',
1 => '1234&few',
2 => '1234&few',
)

結果應該是你預期的

  • 暫無評論
a6965921
<?php

class iwanttolive extends Man\Core\SocketWorker
{
    /**
     * 確定包是否完整 return 0:完整 return X:還有X字節(jié)沒有接收完
     */

    public function onStart()
    {
        echo'啟動';
        global $suoyoushuju;
        $suoyoushuju=array();

    }
    public function dealInput($buffer)
    {
        // 如果最后一個字符是\n代表數(shù)據(jù)讀取完整,返回0
        if($buffer === "\n")
        {
            return 0;
        }

        // 說明還有請求數(shù)據(jù)沒收到,但是由于不知道還有多少數(shù)據(jù)沒收到,所以只能返回1,因為有可能下一個字符就是\n
        return 1;
    }

    /**
     * 處理業(yè)務,當客戶端數(shù)據(jù)接收完畢后觸發(fā)(這里只是將客戶端發(fā)來的字符串直接會寫到客戶端)
     */
    public function dealProcess($buffer)
    {

//        $bufferss=str_replace("\n","",$buffer);
        $bufferss=trim($buffer);
        global $suoyoushuju;
        $fanhui=array();
        array_push($suoyoushuju,$bufferss);
        echo '初始化所有數(shù)據(jù)';
        print_r($suoyoushuju);
        $ww=explode('&',$bufferss);
        $www=$ww;

        foreach ($suoyoushuju as $value) {
            echo '索引'.$www;
            echo '搜索范圍'.$value;
            if(strpos($value, $www)!=false)
            {

                array_push($fanhui,$value);
                echo'符合條件的放入$fangzhu數(shù)組';
                print_r($fanhui);

            }
            else
            {
                echo '沒搜索到相應數(shù)據(jù)';
            }
        }

        return $this->sendToClient(json_encode($fanhui));
    }

}

?>

還是不行
啟動啟動啟動啟動啟動初始化所有數(shù)據(jù)

Array
(
     => 2134&dw
)

索引2134搜索范圍2134&dw符合條件的放入$fangzhu數(shù)組

Array
(
     => 2134&dw
)

初始化所有數(shù)據(jù)

Array
(
     => 2134&dw
     => 12345&fe
)

索引12345搜索范圍2134&dw符合條件的放入$fangzhu數(shù)組

Array
(
     => 2134&dw
)

索引12345搜索范圍12345&fe符合條件的放入$fangzhu數(shù)組

Array
(
     => 2134&dw
     => 12345&fe
)

為什么第二次 初始化所有數(shù)據(jù)這個不會運行了

效果也是錯的

輸入12345&fe 應該是

array
(
     => 12345&fe
)

索引12345搜索范圍12345&fe符合條件的放 如

=> 2134&dw 這個2134明顯沒符合條件怎么也放入了

  • 暫無評論
walkor 打賞

這句有問題,

if(strpos($value, $www)!=false)

應該是

if(strpos($value, $www)!==false)

  • 暫無評論
年代過于久遠,無法發(fā)表回答
??