Müşteri WebSockets kullanarak tüm iletileri almıyor

0 Cevap php

I phpwebsocket kullanarak localhost kurmak bir WebSockets sunucu var. İstemci kadar hemen hemen aynı zamanda ('hi sunucu') sunucusuna 2 mesajlar gönderiyor

socket.send('hi server');
socket.send('hi server');

Sunucu hem mesaj alma ve mesaj 'destek istemci' ile geri cevap verirken.

...
case "hi server": $this->send($user->socket,"sup client"); break;
...
function send($client,$msg){ 
    echo "> ".$msg;
    $msg = $this->wrap($msg);
    socket_write($client,$msg,strlen($msg));
    echo "! ".strlen($msg)."\n";
} 
...
function wrap($msg=""){ return chr(0).$msg.chr(255); }

The php log looks like this: phplog

Iletileri almak müşteri için kodu:

socket.onmessage = function(msg)
{
    log("Received: " + msg.data);
}

What the client is actually logging inside the div element: client

Ben WebSocket sunucu 2 gönderildiğinde neden istemci yalnızca tek bir mesaj işleme hiçbir fikrim yok ben 2 'Zamanı: sup müşteri' olmalıdır. Ki div etiketi. Ben belki onun JavaScript veya bir şey için biraz çok hızlı mesaj gönderme düşünüyorum.

0 Cevap