[websocket] la fonction socket_recv bloque a 1024 caratères en réception

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [websocket] la fonction socket_recv bloque a 1024 caratères en réception

Re: [websocket] la fonction socket_recv bloque a 1024 caratères en réception

par @rthur » 05 août 2018, 22:52

Certains serveurs ont une limitation de la taille de chaque envoi.
Par exemple pour les serveurs node.js, il y a un paramètre de configuration "maxpayload" qui permet de faire cela.

Je n'ai pas trouvé de limitation comme celle là en PHP, mais peut être faut il regarder au niveau de la conf Apache.
Tu devrais essayer aussi sur un autre serveur pour voir si le problème est le même ou si c'est spécifique à une configuration de ton serveur

[websocket] la fonction socket_recv bloque a 1024 caratères en réception

par Neoxen » 02 août 2018, 09:55

Bonjour à tous !!

Je me suis mis aux websocket il ya quelques temps et je bloque sur un problème de réception de data quand celui ci depasse 1024 caratères.


while(false !== ($byteReceive = socket_recv($this->clientApplication->getUserSocket(), $bufferData, 9999999 , MSG_DONTWAIT))){
if($byteReceive===0) $this->disconnect($this->clientApplication);
if($byteReceive<1) break;
$data.=$bufferData;
$totalByteReceive+=$byteReceive;
}

j'ai essayer de mettre la veleur de length a 9999999 afin de mettre une limite haute, mais dès que j'atteint le 2015 ième caratères, le socket se bloque et je ne sait pas pourquoi.

La handshake se fait parfaitement, les données transite nickel entre le socket et le site mais je ne comprend pas comment envoyé de grande quantité de data