zoukankan      html  css  js  c++  java
  • 我使用tricks(推)技術寫得聊天室程式

    我使用tricks(推)技術寫得聊天室程式,頁面不需要刷新,另外也不會像ajax似的不斷請求server端.

    set_time_limit(9990);
    header('cache-control: private');
    header('Content-Type: text/html; charset=utf-8');
    $file="chat.txt";

    $action=trim($_GET['action']);
    Switch ($action){
    Case "say":
        _say();
        Break;
    Case "chat":
        _chat();
        Break;
    Default:
        _main();
        Break;
    }
    //------------------------------------------------*
    Function _main(){
        Echo '<iframe src="?action=chat" height="300" width="100%"></iframe>';
        Echo '<form method="post" id="f1" target="say" action="?action=say"><input type="text" name="wd"><input type="submit" value="say"></form>';
        Echo '<iframe name="say" style="display:none"></iframe>';
    }
    //------------------------------------------------*
    Function _say(){
        Global $file;
        $wd = trim($_POST['wd']);
        IF(File_Exists($file)){
            $htm=File_Get_Contents($file).$wd.Chr(10);
        }Else{
            $htm=$wd.Chr(10);
        }

        File_Put_Contents($file,$htm,LOCK_EX);
        clearstatcache();
    }
    //------------------------------------------------*
    Function _chat(){
        Global $file;
        IF(!File_Exists($file)){
            File_Put_Contents($file,'',LOCK_EX);
        }

        //这一行是为了IE的bug
        Echo str_repeat(' ', 256);
        ob_flush();
        flush();

        $total = Count(File($file));
        $i = $total - 1;

    //如果要轉載本文請注明出處,免的出現版權紛爭,我不喜歡看到那種轉載了我的作品卻不注明出處的人 Seven{See7di#Gmail.com}
        While(true){
            $N=Count(File($file));
            IF($N!=$total){
                $total = $N;
                $HTM=File($file);
                Echo '<div>',Htmlspecialchars(End($HTM)),'</div>';
                ob_flush();
                flush();
            }Else{
                usleep(1500);
            }
        }
    }

  • 相关阅读:
    imx6------watchdog导致不进系统
    嵌入式 Linux 如何操作 GPIO ?
    Linux下用文件IO的方式操作GPIO(/sys/class/gpio)
    一张图看懂AI、机器学习和深度学习的区别
    男生拍照姿势大全,这样拍才帅
    OpenCV/OpenCL/OpenGL区别
    设计简单算法体验Vivado HLS的使用
    FMC简介
    Android 开机Process xxx (pid xxxx) has died问题分析
    g711u与g729比较编码格式
  • 原文地址:https://www.cnblogs.com/see7di/p/2239794.html
Copyright © 2011-2022 走看看