网页 综合 更新时间 2026-11-13 14:50:11

pipe-workerman手册

自动蜘蛛 www.workerman.net 正文约 2635 字
workerman 首页 问答 分享 手册 市场 商业 AI客服系统源码 聊天系统源码 Webman AI 物联网 赞助商 webman 搜索 + 发布 提问 分享 webman插件 webman应用 登录 注册 序言 原理 开发必读 入门指引 特性 简单的开发示例 安装 环境要求 下载安装 启动停止 开发流程 开发前必读 目录结构 开发规范 基本流程 Worker类 构造函数 属性 id count name protocol transport reusePort connections stdoutFile pidFile logFile user reloadable daemonize globalEvent 回调属性 onWorkerStart onWorkerReload onConnect onMessage onClose onBufferFull onBufferDrain onError 接口 runAll stopAll listen TcpConnection类 属性 id protocol worker maxSendBufferSize defaultMaxSendBufferSize defaultMaxPackageSize 回调属性 onMessage onClose onBufferFull onBufferDrain onError 接口 send getRemoteIp getRemotePort close destroy pauseRecv resumeRecv pipe AsyncTcpConnection类 __construct connect reconnect transport AsyncUdpConnection类 __construct connect send close Timer定时器类 add del 定时器注意事项 crontab Http服务 请求 响应 session会话 session管理 SSE 协程 协程介绍 协程上下文 Context 连接池 Pool 协程屏障 Barrier 协程并发 Parallel 协程并发 WaitGroup 协程锁 Locker 协程通道 Channel 通讯协议 通讯协议作用 定制通讯协议 一些例子 调试 基本调试 status命令查看运行状态 调试busy进程 网络抓包 跟踪系统调用 常用组件 GlobalData数据共享组件 GlobalDataServer GlobalDataClient add cas increment Channel分布式通讯组件 ChannelServer channelClient connect on publish unsubsribe 例子-集群推送 例子-分组发送 FileMonitor文件监控组件 MySQL组件 数据库类 Redis组件 workerman/redis 异步http组件 workerman/http-client 异步消息队列组件 workemran/mqtt workerman/redis-queue workerman/stomp workerman/rabbitmq Crontab定时任务 Memcache 常见问题 心跳 自动加载 客户端连接失败原因 是否支持多线程 与其它框架整合 运行多个workerman 支持哪些协议 如何设置进程数 查看客户端连接数 对象和资源的持久化 例子无法工作 启动失败 停止失败 支持多少并发 更改代码不生效 向指定客户端发送数据 如何主动推送消息 在其它项目中推送 如何实现异步任务 status里send_fail的原因 Windows下开发Linux下部署 是否支持socket.io 终端关闭导致workerman关闭 与nginx apache的关系 禁用函数检查 平滑重启原理 为Flash开843端口 如何广播数据 如何建立udp服务 监听ipv6 关闭未认证的连接 传输加密-ssl/tls 创建wss服务 创建https服务 workerman作为客户端 作为ws/wss客户端 微信小程序 PHP的几种回调写法 透过代理获取客户端真实ip 开机启动 接收和发送16进制数据 接收一定请求后重启 win下初始化多个worker 请求集中在某些进程 附录 优化Linux内核 压力测试 安装扩展 websocket协议 ws协议 text协议 frame协议 不支持的函数/特性 版权信息 pipe 说明: void Connection::pipe(TcpConnection $target_connection) 参数 将当前连接的数据流导入到目标连接。内置了流量控制。此方法做TCP代理非常有用 范例 TCP代理 <?php use Workerman\Worker; use Workerman\Connection\AsyncTcpConnection; use Workerman\Connection\TcpConnection; require_once __DIR__ . '/vendor/autoload.php'; $worker = new Worker('tcp://0.0.0.0:8483'); $worker->count = 12; // tcp连接建立后 $worker->onConnect = function(TcpConnection $connection) { // 建立本地80端口的异步连接 $connection_to_80 = new AsyncTcpConnection('tcp://127.0.0.1:80'); // 设置将当前客户端连接的数据导向80端口的连接 $connection->pipe($connection_to_80); // 设置80端口连接返回的数据导向客户端连接 $connection_to_80->pipe($connection); // 执行异步连接 $connection_to_80->connect(); }; // 运行worker Worker::runAll(); 编辑于2024-03-13 17:37:19 完善本页 +发起讨论 赞助商 +成为赞助商 请作者喝咖啡 × 关闭
访问原文 返回搜索 https://www.workerman.net/doc/workerman/tcp-connection/pipe.html
本页为82搜索生成的网页快照,内容来自站内索引;演示数据的原文链接仅作示例。