2011-06-06 106 views
2

我正在玩phpwebsocket。有沒有辦法一次只有一個用戶連接?一次只能連接一個連接phpwebsocket

如果第二個用戶嘗試連接,它們應該自動斷開連接,並且如果第一個用戶空閒了給定的時間量,他應該斷開連接以爲新用戶留出空間。

這是可能的 - 如果是這樣,有誰知道如何?

回答

1

當然可以限制用戶數量給一個用戶。你必須看看usercount並決定接受或不接受新的連接。在代碼中,它看起來是這樣的:

if($socket==$master){ 
    $client=socket_accept($master); 
    if($client<0){ console("socket_accept() failed"); continue; } 
    else{ connect($client); } 
} 

可以作進一步的if語句來檢查,如果USERCOUNT位是0,所以你接受連接:

if($socket==$master){ 
    if(count($users) == 0){ 
    $client=socket_accept($master); 
    if($client<0){ console("socket_accept() failed"); continue; } 
    else{ connect($client); } 
    } 
} 

要斷開沉默用戶,我會刷新用戶超時的時間戳用戶向服務器發送消息。現在唯一要做的就是檢查用戶時間戳和當前時間之間的差異是否高於斷開時間。如果是這樣,踢他:)