IEnumerator coRpcServiceExample(RpcServiceExampleRequest request, RPCHandler <RpcServiceExampleReply> handler) { try { var reply = client.RpcServiceExample(request); handler(reply); } catch (Grpc.Core.RpcException e) { Debug.LogError("RPC failed " + e); } yield return(null); }
// Start is called before the first frame update void Start() { // 사용 예시 RpcServiceExampleRequest request = new RpcServiceExampleRequest(); request.Arg1 = 1; request.Arg2 = 2.0f; request.Arg3 = "3"; request.Arg4 = true; request.Arg5.Add(4); request.Arg5.Add(5); // 요청 RpcServiceManager.Instance.RpcServiceExample(request, delegate(RpcServiceExampleReply reply) { // 응답 Debug.Log("RpcService : " + reply); }); }
IEnumerator coRpcServiceExample(RpcServiceExampleRequest request, RPCHandler <RpcServiceExampleReply> handler) { //try //{ // var metaData = new Metadata // { // { "access_key", GameDataManager.Instance.userData.accessKey } // }; // var reply = client.RpcServiceExample(request, metaData); // handler(reply); //} //catch (Grpc.Core.RpcException e) //{ // Debug.LogError("RPC failed " + e); //} yield return(null); }
public override Task <RpcServiceExampleReply> RpcServiceExample(RpcServiceExampleRequest request, ServerCallContext context) { return(Task.FromResult(new RpcServiceExampleReply())); }
// HealthCheck - Check //public void Check(HealthCheckRequest request, RPCHandler<HealthCheckResponse> handler) //{ // healthCheckThread = new Thread(() => // { // int intervalTime = 60 * 1000;//Time.time + (10.0f * 60.0f); // //try // //{ // // while (running) // // { // // //if (Time.time < intervalTime) // // //{ // // // continue; // // //} // // var metaData = new Metadata // // { // // { "access_key", GameDataManager.Instance.userData.accessKey } // // }; // // var reply = health.Check(request, metaData); // // handler(reply); // // Thread.Sleep(intervalTime); // // } // //} // //catch (Grpc.Core.RpcException e) // //{ // // Debug.LogError("RPC failed " + e); // //} // }); // healthCheckThread.Start(); // //StartCoroutine(coCheck(request, handler)); //} //IEnumerator coCheck(HealthCheckRequest request, RPCHandler<HealthCheckResponse> handler) //{ // try // { // while (running) // { // //if (Time.time < intervalTime) // //{ // // continue; // //} // var metadata = new Metadata // { // { "access_key", GameDataManager.Instance.userData.accessKey } // }; // var reply = health.Check(request, metadata); // handler(reply); // } // } // catch (Grpc.Core.RpcException e) // { // Debug.LogError("RPC failed " + e); // } // yield return null; //} // HealthCheck - Watch //public void Watch(HealthCheckRequest request, // RPCHandler<HealthCheckResponse> handler) //{ // //coWatch(request, handler); // //await task; // //StartCoroutine(coWatch(request, handler)); // //await coWatch(request, handler); // healthWatchThread = new Thread(async () => // { // //try // //{ // // while (running) // // { // // var metaData = new Metadata // // { // // { "access_key", GameDataManager.Instance.userData.accessKey } // // }; // // using (var call = health.Watch(request, metaData)) // // { // // while (await call.ResponseStream.MoveNext()) // // { // // HealthCheckResponse reply = call.ResponseStream.Current; // // handler(reply); // // } // // } // // } // //} // //catch (Grpc.Core.RpcException e) // //{ // // Debug.LogError("RPC failed " + e); // //} // }); // healthWatchThread.Start(); //} //void coWatch(HealthCheckRequest request, // RPCHandler<HealthCheckResponse> handler) //{ // Thread thread = new Thread(async () => // { // try // { // using (var call = health.Watch(request)) // { // while (await call.ResponseStream.MoveNext()) // { // HealthCheckResponse reply = call.ResponseStream.Current; // handler(reply); // } // } // //var reply = health.Watch(request); // //handler(reply); // } // catch (Grpc.Core.RpcException e) // { // Debug.LogError("RPC failed " + e); // } // }); //} // RpcServiceExample public void RpcServiceExample(RpcServiceExampleRequest request, RPCHandler <RpcServiceExampleReply> handler) { StartCoroutine(coRpcServiceExample(request, handler)); }