我有一個工作得很好的套接字服務器,但我試圖實現一些新功能,它不工作。PHP socket服務器在幾分鐘後發送響應
在我的套接字服務器中,我使用$ response字符串向客戶端發送消息。如果該字符串與空值不同,則服務器將該消息發送給客戶端。
的$響應由消息服務器定義的從客戶端得到了第一,例如:
if($data=="CODE:A")
{
$response="Hello";
}
所以,我需要做的是在3分鐘後發送消息給客戶端,而不是僅此由於睡眠(180)它的工作原理,我的問題是,如果$ data中的代碼等於CODE:C,我需要定義向客戶端發送2個不同的答案。第一條消息必須無等待地發送,第二條消息在3分鐘後發送,例如:
if($data=="CODE:C")
{
$response = "Msg 1";
}
else if($data=="CODE:C")
{
sleep(180);
$responde = "Msg 2";
}
我的問題是,如果我設置這樣的代碼如上所述,$響應僅在3分鐘後才向客戶端發送消息,並且僅發送第一條消息,第二條消息未被髮送。
如果我把代碼中的第二個,如果最前一頁只有1裏面創建如果3分鐘$響應客戶端後總是消息2
我怎樣才能實現這作品? 我已經嘗試使用$ t = time()+ 180並檢查時間是否等於$ t但沒有任何反應。
'如果($數據==「CODE:C」 ){}否則如果($ data ==「CODE:C」){}',我可能是盲目的或者是某些東西,但是這些條件看起來完全相同。 – Flosculus
你是如何發送消息的?在這裏,你只是設置一個變量值 – apokryfos
也許你不明白,但我想調用這兩個,如果對相同的條件,如我在問題中說,如果我設置這個if($ data ==「CODE: C){$ response =「Msg 1」; sleep(180); $ response =「Msg 2」}響應在180秒後發送,但僅發送消息2,我需要發送消息1和3分鐘後消息2 –