PHP当作客户端访问连接另外一个socket的方法

    xiaoxiao2022-07-14  151

    描述:php文件作为前端界面 连接另外一个服务器的socket 范围:所有php程序 框架:workerman 下载地址:http://www.chtml.cn/product/show/10930

    官方示例 详细见AsyncTcpConnection类 workerman手册

    <?php use Workerman\Worker; use Workerman\Connection\AsyncTcpConnection; require_once __DIR__ . '/Workerman/Autoloader.php'; $worker = new Worker(); $worker->onWorkerStart = function($worker){ // 设置访问对方主机的本地ip及端口(每个socket连接都会占用一个本地端口) $context_option = array( 'socket' => array( // ip必须是本机网卡ip,并且能访问对方主机,否则无效 'bindto' => '这是你的网卡ip:2333', ), ); $con = new AsyncTcpConnection('ws://wb.youqiong.net:80', $context_option); $con->onConnect = function($con) { $con->send('hello'); }; $con->onMessage = function($con, $data) { echo $data; }; $con->onClose = function($con) { // 如果连接断开,则在1秒后重连 $con->reConnect(1); }; $con->connect(); }; Worker::runAll();

    配合gateway-worker使用

    public static function onWorkerStart($businessWorker) { // 设置访问对方主机的本地ip及端口(每个socket连接都会占用一个本地端口) $context_option = array( 'socket' => array( // ip必须是本机网卡ip,并且能访问对方主机,否则无效 'bindto' =>'这是你的网卡ip:2333', ), ); $con = new AsyncTcpConnection('ws://wb.youqiong.net:8887', $context_option); $con->onConnect = function($con) { $con->send('66666'); }; $con->onMessage = function($con, $data) { echo $data; }; $con->onClose = function($con) { // 如果连接断开,则在1秒后重连 $con->reConnect(1); }; $con->connect(); }

    获取自己服务器的网卡ip的方法 1.centos ifconfig 7.0以上版本 ip addr 2.window ipconfig 3.ubuntu ifconfig

    注释:这块可以任意把这个代码片段放到任何一个workerman执行文件里 要是初始化的哪个流程中使用。

    江山明月 认证博客专家 产品运营 项目经理 产品经理 人们生活在自己定义的世界中,为了方便认知,给予事物赋予意义与价值。在我们所认为有价值的梦想下,不断的探索和发现这个世界。
    最新回复(0)