想实现的功能是这样:
客户端PHP页面,执行某个任务,比如新建站点,通过某种方式通知 后端的 nc 监听程序,然后执行相关脚本,不如创建ftp账号、新建目录等。
但是,应该怎样才能够通过 php 发消息给 nc 呢?
求教!
客户端PHP页面,执行某个任务,比如新建站点,通过某种方式通知 后端的 nc 监听程序,然后执行相关脚本,不如创建ftp账号、新建目录等。
但是,应该怎样才能够通过 php 发消息给 nc 呢?
求教!
1
jasontse Aug 28, 2014 via iPad
|
2
csensix OP @jasontse
$fp = fsockopen ("udp://127.0.0.1",40030,$errno,$errstr,30); if(!$fp){ echo "$errstr ($errno) <br />"; }else{ fwrite($fp,"Hello nc"); echo "Success"; fclose($fp); } 以上是php代码。 服务端执行脚本如下: #!/bin/bash killall 'nc' >/dev/null 2>&1 nc -l -u 40030 | while read Line do echo $Line done 可是,为毛没有输出呢? |
3
csensix OP 大伙给点建议吧!
|
4
Sunyanzi Aug 28, 2014
这要能有输出才奇怪吧 ... 谁教的你 nc 是这么用的 ...
虽然我很不解为什么要用 UDP 协议 ... 但如果你执意要用的话 ... 用 nc -ulp 40030 来启动 nc ... php 脚本那边没有任何问题 ... |
5
tabris17 Aug 28, 2014
你的用法很奇怪
|
7
109109 Aug 28, 2014
@csensix
i@i7:/tmp$ cat test.php <?php $fp = fsockopen ("udp://127.0.0.1",40030,$errno,$errstr,30); if(!$fp){ echo "$errstr ($errno) <br />"; }else{ fwrite($fp,"Hello nc"); echo "Success\n"; fclose($fp); } ?> i@i7:/tmp$ php test.php Success root@i7:~# nc -vulp 40030 listening on [any] 40030 ... connect to [127.0.0.1] from localhost [127.0.0.1] 39976 Hello nc^C #检查是否防火墙没有放行 |
8
046569 Aug 28, 2014
|