Exemples

Exemple #1 Style orienté objet

  1. <?php
  2.  
  3. $queue = '/queue/foo';
  4. $msg = 'bar';
  5.  
  6. /* connexion */
  7. try {
  8. $stomp = new Stomp('tcp://localhost:61613');
  9. } catch(StompException $e) {
  10. die('Connection failed: ' . $e->getMessage());
  11. }
  12.  
  13. /* envoi d'un message à la file 'foo' */
  14. $stomp->send($queue, $msg);
  15.  
  16. /* souscription aux messages de la file 'foo' */
  17. $stomp->subscribe($queue);
  18.  
  19. /* lecture d'un message */
  20. $frame = $stomp->readFrame();
  21.  
  22. if ($frame->body === $msg) {
  23. var_dump($frame);
  24.  
  25. /* confirmation de la réception du message */
  26. $stomp->ack($frame);
  27. }
  28.  
  29. /* fermeture de la connexion */
  30. unset($stomp);
  31.  
  32. ?>
  1. <?php
  2.  
  3. $queue = '/queue/foo';
  4. $msg = 'bar';
  5.  
  6. /* connexion */
  7. $link = stomp_connect('ssl://localhost:61612');
  8.  
  9. /* vérification de la connexion */
  10. if (!$link) {
  11. die('Connection failed: ' . stomp_connect_error());
  12. }
  13.  
  14. /* début de la transaction */
  15. stomp_begin($link, 't1');
  16.  
  17. /* envoi d'un message à la file 'foo' */
  18. stomp_send($link, $queue, $msg, array('transaction' => 't1'));
  19.  
  20. /* validation de la transaction */
  21. stomp_commit($link, 't1');
  22.  
  23. /* souscription aux messages de la file 'foo' */
  24. stomp_subscribe($link, $queue);
  25.  
  26. /* lecture d'un message */
  27. $frame = stomp_read_frame($link);
  28.  
  29. if ($frame['body'] === $msg) {
  30. var_dump($frame);
  31.  
  32. /* confirmation de la réception du message */
  33. stomp_ack($link, $frame['headers']['message-id']);
  34. }
  35.  
  36. /* fermeture de la connexion */
  37. stomp_close($link);
  38.  
  39. ?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

array(3) {
  ["command"]=>
  string(7) "MESSAGE"
  ["body"]=>
  string(3) "bar"
  ["headers"]=>
  array(6) {
    ["transaction"]=>
    string(2) "t1"
    ["message-id"]=>
    string(41) "ID:php.net-55293-1257226743606-4:3:-1:1:1"
    ["destination"]=>
    string(10) "/queue/foo"
    ["timestamp"]=>
    string(13) "1257227037059"
    ["expires"]=>
    string(1) "0"
    ["priority"]=>
    string(1) "0"
  }
}

LoadingChargement en cours