日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

        歡迎訪問 生活随笔!

        生活随笔

        當前位置: 首頁 > 运维知识 > windows >内容正文

        windows

        web在线聊天系统。非ajax轮询

        發布時間:2025/3/15 windows 19 豆豆
        生活随笔 收集整理的這篇文章主要介紹了 web在线聊天系统。非ajax轮询 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

        利用php的死循環和刷新緩沖區實現。

        ?

        瀏覽器發送請求到PHP獲取消息頁面。

        ???php接收到來之瀏覽器請求后。?循環獲取數據庫里面的消息。
        ? ?當存在消息的時候。PHP告訴瀏覽器。我有消息給你。你接受一下。但是我的消息還還有哦。你要等我發完之后才能閃哦。、

        ??瀏覽器:哦。你還有話說啊。那我先把你說的東西輸出出來。我等你說。你啥時候說完。我啥時候閃。?

        上線項目。建議利用Memcache使用 .同時大型項目。不建議。比如。假設網站有20ip、的流量如果這20ip都使用了這個系統。那么服務器將始終保持這20w的連接

        /**
        * 接受消息
        */
        set_time_limit
        (0);header('content-type:text/html;charset=utf-8'); $con = new mysqli('localhost','root','','test');$sql_ = "select id,content from msg where id > %d limit 1";$i = 0; while(true){$sql = sprintf($sql_,$i);$a = $con->query($sql);$ret = $a->fetch_array();if(is_null($ret)){usleep(100);echo '';flush();ob_flush();}else{$i = (int)$ret['id'];var_dump($ret['content']);flush();ob_flush();} }

        發送消息

        ?

        ?

        /** * 發送消息代碼 */ if(isset($_GET['msg'])){ $msg = $_GET['msg']; $con = new mysqli('localhost','root','','test');$msg = htmlspecialchars($msg); $sql = "INSERT INTO `msg` (`content`) VALUES ('%s')"; $sql = sprintf($sql,$msg); $a = $con->query($sql); $con->close(); }?> <meta charset="utf-8"/> <form><textarea name="msg"></textarea><input type="submit" value="提交"> </form>

        數據庫

        DROP TABLE IF EXISTS `msg`; CREATE TABLE `msg` (`id` int(10) unsigned NOT NULL AUTO_INCREMENT,`content` text CHARACTER SET utf8 NOT NULL,PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=21 DEFAULT CHARSET=utf8;

        ?

        轉載于:https://www.cnblogs.com/iyoule/p/3683416.html

        總結

        以上是生活随笔為你收集整理的web在线聊天系统。非ajax轮询的全部內容,希望文章能夠幫你解決所遇到的問題。

        如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。