1. Installer DNode
1, pour nodejs, exécutez
$ sudo npm install dnode
2, pour php, utilisez composer pour installer DNode php
Exécutez l'instruction suivante pour télécharger composer
Créez un fichier composer.json et remplissez les instructions suivantes,
{
"exiger": {
"dnode/dnode": "0.2.0"
>
>
Exécutez l'instruction suivante pour installer,
$ sudo php composer.phar install
2. Utilisez nodejs pour créer un programme serveur simple, server.js
var dnode = require('dnode');
var serveur = dnode({
zing : fonction (n, cb) { cb(n * 100) }
});
serveur.écouter(7070);
3. Utilisez PHP pour créer le programme client client.php, qui doit référencer le fichier autoload.php dans le dossier dnode que vous venez d'installer
// Connectez-vous au serveur DNode exécuté sur le port 7070 et appelez
// Zing avec l'argument 33
require 'lib/vendor/autoload.php';
// C'est la classe que nous exposons à DNode
Temporaire de classe
{
// Calcule la température du client et insère cette valeur dans le rappel
Température de la fonction publique ($cb)
{
>
>
$loop = new ReactEventLoopStreamSelectLoop();
$dnode = nouveau DNodeDNode($loop, new Temp());
$dnode->connect(7070, function($remote, $connection) {
// Remote est un objet proxy qui nous fournit toutes les méthodes
// depuis le serveur
$remote->zing(33, function($n) use ($connection) {
echo "n = {$n}n";
// Une fois qu'on a le résultat on peut fermer la connexion
$connexion->end();
});
});
$loop->run();
?>
4. Exécuter côté serveur
$noeud serveur.js
5. Exécutez le client pour appeler le programme serveur
$ php client.php
Cela appelle la routine d'ajout côté serveur et imprime le résultat
n = 3300