void Client::loop() { EchoRequest request; request.set_msg("带着相机去旅行"); //同步调用 EchoResponse response; int ret = g_prx->Echo(request, response); //cout << response.msg() << endl; // LOG("ret %d\n", ret); // LOG("msg len %lu\n", response.msg().size()); //异步调用 ServiceProxyCallBackPtr cb(new GameServiceProxyCB); g_prx->async_Echo(cb, request); //单向调用 g_prx->async_Echo(NULL, request); //usleep(10); }
int DemosvrClient::Echo(const string & sMsgIn, string & sMsgOut, int & iVar) { int iRet = 0; EchoRequest req; EchoResponse resp; req.set_msg(sMsgIn); resp.set_msg(sMsgIn); resp.set_var(999); iRet = ((DemosvrCliProto &)GetCliProto()).Echo(req, resp); if (iRet < 0) { // haysvr err HayLog(LOG_ERR, "%s %s cliproto fail. ret[%d]", __FILE__, __PRETTY_FUNCTION__, iRet); return -1; } else if ((iRet=GetCliProto().GetResponseCode()) < 0) { // user err HayLog(LOG_ERR, "%s %s fail. ret[%d]", __FILE__, __PRETTY_FUNCTION__, iRet); return -2; } // succ sMsgOut = resp.msg(); iVar = resp.var(); return 0; }