2013-03-25 20 views
4

我已經設置了一個PHP服務器,每秒寫入一個套接字。當套接字客戶端檢查數據時,套接字服務器是否「命中」?

while(1) { 
    $message = "Hello, World!"; 
    socket_write($socket, $message, strlen($message)); 
    sleep(1); 
} 

然後,我有一個Lua客戶端(科羅娜SDK),檢查插座的數據每隔1/10秒:

timer.performWithDelay(100, function() sock:receive() end, 0) end 

我的問題是:這個服務器「打」每次襪子: receive()運行?或者sock:receive()只檢查本地緩衝區?

重新說明這個問題:服務器接收到的負載越多,運行sock的次數越多:receive()?還是完全不受這個影響?

+0

從我瞭解的計時器,我相信,它運行在一個線程,將繼續沒有你的援助工作,除非你所打斷錯誤或明確 – PurityLake 2013-03-25 18:29:37

回答

0

不,套接字接收不會「命中」服務器。如果可能的話,你可以在服務器端運行Wireshark來證明當客戶端調用接收或讀取之類的東西時不會發送任何東西。少量數據與客戶端交換以設置套接字,但是一旦套接字設置完成,讀取時客戶端就不會發送任何數據。

一些背景資料可在Beej's Guide

相關問題