2014-03-31 7 views
6

Ich habe Ratchet für WebSockets in PHP eingerichtet. Es verbindet sich gut mit meinem Javascript-Client mit (ws: // localhost: 8080) und erfolgreich senden/empfangen Nachrichten. Aber ich möchte einige Parameter wie (ws: // localhost: 8080? Param1 = Wert) übergeben. Ich bin nicht in der Lage, herauszufinden, wie kann ich auf Param1 in meinem PHP-Skript zugreifen.Zugriff auf zusätzliche Parameter in Ratchet Web Socket Anfragen

Wenn möglich in MessageComponentInterface :: onOpen (ConnectionInterface $ conn) -Methode.

Oder besser: Kann ich diese Parameter mit ConnectionInterface $ Conn verbinden. Damit ich sie für die weitere Kommunikation habe.

Ich habe http://socketo.me/docs/hello-world gefolgt.

+0

http://stackoverflow.com/questions/29965445/how-to-access-guzzle-querystring-parameters-in-ratchet-websockets – fatffatable

Antwort

13

Ab a very recent update, können Sie nun das wie so Zugang:

function onOpen(ConnectionInterface $conn) { 
    $querystring = $conn->WebSocket->request->getQuery(); 
} 

ich eigentlich nur in dieser Ausgabe lief mir. Getestet und es funktioniert perfekt.

+0

hi, ich habe gerade versucht, diese URL ws: // localhost: 8080? Userid = 1 und ich habe versucht, querystring mit $ querystring = $ conn-> WebSocket-> request-> getQuery(); print_r ($ conn-> WebSocket-> Anfrage-> getQuery()); Aber es Guzzle \ Http \ Abfrage-Zeichenfolge-Objekt ( [FieldSeparator: protected] drucken => & [valueSeparator: protected] => = [urlencode: protected] => RFC 3986 [Aggregator: protected] => [Daten: protected] => Array ( ) ) –

+1

seine fine.When Arbeits drucke ich die $ querystring seiner Darstellung, wie unten Guzzle \ Http \ Abfrage-Zeichenfolge-Objekt ( [FieldSeparator: protected] => & [ valueSeparator: protected] => = [urlEncode: protected] => RFC 3986 [Aggregator: protected] => [Daten: protected] => Array ( [user_id] => 10 [receiver_id] => 20 ) ) jetzt, wie die user_id zu bekommen und receiver_id – Pradeepta

+1

'$ query = $ conn-> WebSocket-> request-> getQuery() -> toArray(); ' – JIM