airx
airx
ko couple
> 客户端推送是指设置一个回调,然后等服务端推送过来的消息吗? 是的,这样主动请求和被动推送才解决完整了。不然服务器没法主动给客户端说话呀~~
> 目前主流的RPC框架都没有这种功能吧。 RPC从字面技术意思肯定不包含推送,主要看你怎么看待这个问题,是技术字面角度,还是从使用体验角度考虑。 因为我看你请求封装的挺好,考虑到方便了,所以建议你应该更进一步,着眼点在解决客户端网络库的问题,而不是再解决一个rpc方便的问题,rpc有http,okhttp这些都挺方便的,也有gprc等等,这块提升的边际效益比较低。
> 加这个推送功能不难,我要考虑的周全一点,看看是不是有必要加。 非常多场景都有必要的,只要是双向的都有必要,现在非双向的场景很少了,不然http弄个websocket干嘛呢? 服务端,http框架一大堆,tcp c++, java netty框架一大堆,基本都能解决问题;但为什么客户端就没有一个优雅精简的方案呢,一个长连接维持,既可以用来接收推送,也可以用来主动请求,API真正的友好易用呢。有些tcp socket倒是技术层面封装的还可以,不过离业务使用还有段距离,真正拿去用,还得封装一道主动请求的方法,否则到处回调过来回调过去,变量传递满天飞,这些封装的人就不考虑了,但问题还是存在啊。
> 已经支持了服务端主动推送。 > 服务端主动推送的例子在这里:https://github.com/qicosmos/rest_rpc/blob/master/examples/client/main.cpp#L366 > https://github.com/qicosmos/rest_rpc/blob/master/examples/server/main.cpp#L88 > 服务端每隔一秒会推送一次消息,客户端把收到的通知消息打印出来。 厉害!我先看看。
> 我加了个 std::function conn_cb_ > 在 async_connect 里面 std::cout // set_connect_callback 里面 wait_for_notification 你是应用在什么场景和系统呢