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

WBOY
Release: 2016-06-23 13:56:48
Original
1163 people have browsed it

一,安装DNode,

1, for nodejs, 执行

$ sudo npm install dnode
Copy after login


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

执行下列语句下载composer

$ wget http://getcomposer.org/composer.phar 
Copy after login
创建一个文件composer.json,然后填入如下语句,

{    "require": {        "dnode/dnode": "0.2.0"    }}
Copy after login
执行如下语句安装,

$ sudo php composer.phar install
Copy after login

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

var dnode = require('dnode');var server = dnode({    zing: function (n, cb) { cb(n * 100) }});server.listen(7070);
Copy after login
三,利用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();?>
Copy after login

四,执行服务器端

$ node server.js
Copy after login

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

$ php client.php
Copy after login

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

n = 3300



Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!