TCP代理

<?php

/**
 * mysql代理
 * 将8306端口的tcp请求导入到远端的3306端口
 */
use Workerman\Worker;
use Workerman\Connection\AsyncTcpConnection;

require_once __DIR__ . '/Workerman/Autoloader.php';

//本机接收tcp请求协议和端口
$worker = new Worker('tcp://0.0.0.0:8306');
$worker->count = 20;

//远程tcp地址
define('DB_HOST', 'xxx.xxx.xxx.xxx');
//远程tcp端口
define('DB_PORT', '3306');

// tcp连接建立后
$worker->onConnect = function ($connection) {

    // 建立3306端口的异步连接
    $connection_to_3306 = new AsyncTcpConnection('tcp://' . DB_HOST . ':' . DB_PORT);
    // 设置将当前客户端连接的数据导向3306端口的连接
    $connection->pipe($connection_to_3306);
    // 设置3306端口连接返回的数据导向客户端连接
    $connection_to_3306->pipe($connection);
    // 执行异步连接
    $connection_to_3306->connect();
};

// 运行worker
Worker::runAll();
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • nginx不但可以作为http代理,还可以作为tcp反向代理安装openresty/1.9.15.1config时...
    randyjia阅读 1,790评论 0 0
  • Wireshark有抓包功能,可以用于流量分析,但是用于某些特殊场合则不具有灵便性,这里我们参考了《Python黑...
    0X0E01阅读 2,917评论 0 4
  • EasyProxy之golang初步学习 最近工作中遇到了golang的项目,稍稍对其产生了点兴趣,打算认真学习下...
    xsank阅读 3,218评论 0 3
  • nginx1.9以上的版本支持tcp反向代理,可以把一些需要共享端口的进程轻松地实现多进程。比如取rtmp流,默认...
    lwbaptx阅读 2,070评论 0 0
  • 梦到准备买点吃的,让弟他们带,最后他这不想吃那不想吃就没带。我开车去洗车,排队的时候,正好旁边有个快餐店,跑过去选...
    裳璎珞阅读 265评论 0 1