作者darkk6 (Mr. Pan)
看板PHP
標題Re: [請益] 使用者斷線後 php 是否會自動結束執行?
時間Wed May 7 13:10:44 2014
先感謝大家的建議~
1F:推 gpmm:嘛,其實你可以自己測一下啊 XD (寫 log 這樣05/07 10:30
這個我還真的沒想到XDDD 我測試過了,在底下~~~
2F:推 banjmin:只是要播影片的話 為什麼要這樣寫?05/07 11:26
3F:→ banjmin:另外 關掉當然會停止 就像把cmd while(1)程式關掉一樣05/07 11:27
這個其實有點弔詭XDDD
現在主要是狀況 2 首先 IPCam 只有內部IP,
而且需要帳號登入,但上頭想要外面的人看的到,而且不用登入
所以透過一台有外部 IP 的 Server 轉介 orz
4F:→ alog:那是不可能終止的,http request 是單向傳輸的05/07 11:41
5F:→ alog:server端不會知道使用者關閉,通常由php or server 程式中斷05/07 11:41
6F:→ alog:你如果把 set_time_limit 設為 0 很有可能程式會一直跑05/07 11:42
7F:→ alog:除非你server程式分出來的process意外中斷都不會斷線05/07 11:43
8F:→ alog:雖然不清楚你要做的東西,不過可以給個小建議05/07 11:45
9F:→ alog:在這死迴圈內加入一段程式碼,檢查使用者是否還在瀏覽畫面05/07 11:46
10F:→ alog:如果他跳開了就break05/07 11:47
11F:→ alog:看你要隔多少時間檢查一次..這不難處理05/07 11:47
12F:推 alog:另一種做法是,系統這裡弄個程式掛著,定時處理畫面05/07 11:51
13F:→ alog:把畫面輸出在伺服器的檔案系統上,使用者端只要純粹看圖就可05/07 11:52
了解,晚點我還是會試試看~~~ 不過這部分似乎沒辦法判斷使用者是否關閉吧 0.0
(使用者跳開了 break 的部分)
14F:推 Kenqr:用無限迴圈的話,這樣網頁是不是會一直在載入狀態?05/07 12:19
15F:→ Kenqr:圖片輪播的部份,感覺從client端用js處理會比較好05/07 12:20
Client 不一定是 Browser , 有可能有人要用 WebCam Viewer 看( or MJPEG viewer )
是有製作一個 js + 靜態截圖的網頁,但大部分人反映不夠及時
至於網頁會用 <img> 的 tag ,所以本身不會一直處在載入狀態 (php搭配 ob_flush)
16F:推 banjmin:我懂了 就像Comet那樣05/07 12:30
暫時不考慮 Comet 這類的方法,因為大部分人是用 MJPEG Viewer 看 orz
=============================================
關於 gpmm 大說的,直接試試看的部分我做過測試了,我將程式碼加入
了兩行
http://pastie.org/9147817 (有註解的兩行)
在 Client 還連著的情況我每秒下指令 "type test.txt" 觀察內容
秒數有再增加
但我關掉 Client 之後,就停了不再增加,看來應該是關閉了(吧)
Client 測試了兩種:
1. Browser ( 用 <img src="xxxxxx.php" /> )
2. Cambozola (這個是 MJPEG Viewer)
都 OK ,再次感謝大家 :D
至於狀況 1 ,目前似乎不打算繼續了,所以能解決 2 就好了XDD
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 210.60.161.211
※ 文章網址: http://webptt.com/m.aspx?n=bbs/PHP/M.1399439447.A.138.html
※ 編輯: darkk6 (210.60.161.211), 05/07/2014 13:26:21
17F:推 gpmm:推一個實驗精神 XDD (Y) 05/11 23:12