框架 thinkPHP5.0.24 + workerman + GatewayWorker + gatewayclient
使用AsyncTcpConnection类连接欧易交易所 执行的业务逻辑是每收到一条信息就推送给所有客户端 如图
一共有两个任务 (因为接口不一样 所以启动了两个workerman)
GatewayWorker里面没有什么业务代码 只是提供连接 都是通过 gatewayclient推送 下方有截图
启动时是没有问题 过两三个小时就会报错以下错误
stream_socket_client(): Unable to connect to tcp://127.0.0.1:2900 (通常每个套接字地址(协议/网络地址/端口)只允许使用一次。) in E:\php\amm\vendor\workerman\gatewayclient\Gateway.php:1254
windows php8启动脚本
猜测是本地端口消耗光了,用linux系统按照手册优化好linux内核应该就好了
我也这样觉得 但是6万多个端口都用完是不是不太合理
复现步骤我也不清楚 像是随机出现 有时候运行半个小时就会直接报错 有时候五六个小时才会报错