websocket 如何投递消息到 http

查看 40|回复 2
作者:v2li32   
我在构思微服务下如何通过 websocket 作为交互。
运行流程
client => http => server => ws/tcp => server2 收到 => server2 通过 unixsocket 投递消息到 work 处理完成后 => 通过 ws 写消息回去 => server 的 ws 收到消息
这个时候 如果正常处理 加工收到的消息, 写入消息到 client 的 fd,close 掉 client 连接 应该是可行的。
平常业务代码
client => server(伪代码)=> return
200,data=$get,msg=''");
}
如果换成上面通过 websocket 交互
都不需要返回了, server 收到 server2 结果后 fwrite($client_fd,$data); close($client_fd);
send($get);
}
上面写好奇怪的样子。。 我想实现下面的写法有办法吗(代码直观看着舒服),比如
send($get);
    return success("code=>200,data=$res,msg=''");
}
如果想实现上面这样子,需要在加一个队列(起到 while true 阻塞效果?)。
开辟 1 片内存 $arr[$client_fd] => $data; 数据回来后写入。然后 pop 消息。
这样子就好像成 select 了。。 无时无刻在遍历,有数据在返回,性能问题很大。。
然后好像为了解决问题又引入新的问题。
大佬们给点思路呢
RedBeanIce   
请直接说,你在做什么,想实现什么目标。
sentinelK   
需要楼主提炼一下问题。
1 、问题只问核心就行了,不需要掺杂业务。
2 、目前你遇到的问题是什么?
3 、“写着舒服”是个什么概念?
您需要登录后才可以回帖 登录 | 立即注册

返回顶部