28 lines
		
	
	
		
			692 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			692 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
require_once __DIR__."/../vendor/autoload.php";
 | 
						|
 | 
						|
use NoccyLabs\Ipc\Interop\Bus\Master;
 | 
						|
 | 
						|
 | 
						|
$master = new Master();
 | 
						|
 | 
						|
$client1 = $master->createClient();
 | 
						|
$client1->addListener(function ($msg) use ($client1) {
 | 
						|
    printf("channel1: %s\n", json_encode($msg));
 | 
						|
    $client1->call("/channel2/hello", "channel1")->then(function ($ret) {
 | 
						|
        printf("channel1: %s\n", $ret);
 | 
						|
    });
 | 
						|
});
 | 
						|
$client2 = $master->createClient();
 | 
						|
$client2->addListener(function ($msg) {
 | 
						|
    printf("channel2: %s\n", json_encode($msg));
 | 
						|
});
 | 
						|
$client2->export("/channel2/hello", function ($name) {
 | 
						|
    return sprintf("Hello, %s", $name);
 | 
						|
});
 | 
						|
 | 
						|
$client1->send("hello world");
 | 
						|
for ($n = 0; $n < 10; $n++) {
 | 
						|
    sleep(1);
 | 
						|
} |