- receive.php
<?php
$path = __DIR__ . "/unix_sock";
@unlink($path);
$rs = socket_create(AF_UNIX, SOCK_DGRAM, 0) or die("socket_create err");
socket_bind($rs, $path) or die("socket_bind err");
$data = [
"name" => [],
"buffer_size" => 2000,
"controllen" => socket_cmsg_space(SOL_SOCKET, SCM_RIGHTS, 3)
];
print_r($data);
$r = socket_recvmsg($rs, $data, 0);
if ($r) {
print_r($data);
$ret = fwrite($data['control'][0]['data'][0], date('Y-m-d H:i:s') . " receive \n");
if ($ret) {
echo "write success {$ret} \n";
} else {
echo "write fail \n";
}
} else {
echo 'receive fail';
}
- send.php
<?php
$path = __DIR__ . "/unix_sock";
$sends1 = socket_create(AF_UNIX, SOCK_DGRAM, 0) or die("socket_create err");
$f = fopen(__DIR__.'/s.txt','aw+');
fwrite($f,date('Y-m-d H:i:s')." send \n");
$data = [
"name" => ["path" => $path],
"iov" => ["info"],
"control" => [
[
"level" => SOL_SOCKET,
"type" => SCM_RIGHTS,
"data" => [$f]
]
]
];
print_r($data);
$r = socket_sendmsg($sends1, $data, 0);
运行
- php receive.php
- php send.php
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。