利用DNode实现php和nodejs之间的通信

WBOY
Freigeben: 2016-06-23 13:56:48
Original
1200 Leute haben es durchsucht

一,安装DNode,

1, for nodejs, 执行

$ sudo npm install dnode
Nach dem Login kopieren


2, for php, 利用composer来安装DNode php

执行下列语句下载composer

$ wget http://getcomposer.org/composer.phar 
Nach dem Login kopieren
创建一个文件composer.json,然后填入如下语句,

{    "require": {        "dnode/dnode": "0.2.0"    }}
Nach dem Login kopieren
执行如下语句安装,

$ sudo php composer.phar install
Nach dem Login kopieren

二,利用nodejs创建简单server程序, server.js

var dnode = require('dnode');var server = dnode({    zing: function (n, cb) { cb(n * 100) }});server.listen(7070);
Nach dem Login kopieren
三,利用php创建客户端程序client.php, 其中需要引用刚才安装的dnode文件夹里面的文件autoload.php

<?php // Connect to DNode server running in port 7070 and call // Zing with argument 33require 'lib/vendor/autoload.php';// This is the class we're exposing to DNodeclass Temp{    // Compute the client's temperature and stuff that value into the callback    public function temperature($cb)    {    }}$loop = new React\EventLoop\StreamSelectLoop();$dnode = new DNode\DNode($loop, new Temp());$dnode->connect(7070, function($remote, $connection) {    // Remote is a proxy object that provides us all methods    // from the server    $remote->zing(33, function($n) use ($connection) {        echo "n = {$n}\n";        // Once we have the result we can close the connection        $connection->end();    });});$loop->run();?>
Nach dem Login kopieren

四,执行服务器端

$ node server.js
Nach dem Login kopieren

五,执行客户端调用服务端程序

$ php client.php
Nach dem Login kopieren

这会调用服务器端的加法程序,然后输出结果

n = 3300



Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage