Re: [請益] 使用者斷線後 php 是否會自動結束執行?

看板PHP作者 (Mr. Pan)時間11年前 (2014/05/07 13:10), 11年前編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
先感謝大家的建議~

05/07 10:30,
嘛,其實你可以自己測一下啊 XD (寫 log 這樣
05/07 10:30
這個我還真的沒想到XDDD 我測試過了,在底下~~~

05/07 11:26,
只是要播影片的話 為什麼要這樣寫?
05/07 11:26

05/07 11:27,
另外 關掉當然會停止 就像把cmd while(1)程式關掉一樣
05/07 11:27
這個其實有點弔詭XDDD 現在主要是狀況 2 首先 IPCam 只有內部IP, 而且需要帳號登入,但上頭想要外面的人看的到,而且不用登入 所以透過一台有外部 IP 的 Server 轉介 orz

05/07 11:41,
那是不可能終止的,http request 是單向傳輸的
05/07 11:41

05/07 11:41,
server端不會知道使用者關閉,通常由php or server 程式中斷
05/07 11:41

05/07 11:42,
你如果把 set_time_limit 設為 0 很有可能程式會一直跑
05/07 11:42

05/07 11:43,
除非你server程式分出來的process意外中斷都不會斷線
05/07 11:43

05/07 11:45,
雖然不清楚你要做的東西,不過可以給個小建議
05/07 11:45

05/07 11:46,
在這死迴圈內加入一段程式碼,檢查使用者是否還在瀏覽畫面
05/07 11:46

05/07 11:47,
如果他跳開了就break
05/07 11:47

05/07 11:47,
看你要隔多少時間檢查一次..這不難處理
05/07 11:47

05/07 11:51,
另一種做法是,系統這裡弄個程式掛著,定時處理畫面
05/07 11:51

05/07 11:52,
把畫面輸出在伺服器的檔案系統上,使用者端只要純粹看圖就可
05/07 11:52
了解,晚點我還是會試試看~~~ 不過這部分似乎沒辦法判斷使用者是否關閉吧 0.0 (使用者跳開了 break 的部分)

05/07 12:19,
用無限迴圈的話,這樣網頁是不是會一直在載入狀態?
05/07 12:19

05/07 12:20,
圖片輪播的部份,感覺從client端用js處理會比較好
05/07 12:20
Client 不一定是 Browser , 有可能有人要用 WebCam Viewer 看( or MJPEG viewer ) 是有製作一個 js + 靜態截圖的網頁,但大部分人反映不夠及時 至於網頁會用 <img> 的 tag ,所以本身不會一直處在載入狀態 (php搭配 ob_flush)

05/07 12:30,
我懂了 就像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://www.ptt.cc/bbs/PHP/M.1399439447.A.138.html ※ 編輯: darkk6 (210.60.161.211), 05/07/2014 13:26:21

05/11 23:12, , 1F
推一個實驗精神 XDD (Y)
05/11 23:12, 1F
文章代碼(AID): #1JQS1N4u (PHP)
文章代碼(AID): #1JQS1N4u (PHP)