Multithreading 如何将c#异步任务转换为Unity协程
我正在Unity中使用protobuf实现双向流式RPC。 并没有反映Unity的C#4.x等价物,所以我认为我需要将其转换为协同程序替代方法。基本上,它是一个订阅,在一段时间内输出服务器响应Multithreading 如何将c#异步任务转换为Unity协程,multithreading,asynchronous,async-await,task,using,Multithreading,Asynchronous,Async Await,Task,Using,我正在Unity中使用protobuf实现双向流式RPC。 并没有反映Unity的C#4.x等价物,所以我认为我需要将其转换为协同程序替代方法。基本上,它是一个订阅,在一段时间内输出服务器响应 using (var call = client.RouteChat()) { var responseReaderTask = Task.Run(async () => { while (await call.ResponseStream.MoveNext()) {
using (var call = client.RouteChat())
{
var responseReaderTask = Task.Run(async () =>
{
while (await call.ResponseStream.MoveNext())
{
var note = call.ResponseStream.Current;
Console.WriteLine("Received " + note);
}
});
foreach (RouteNote request in requests)
{
await call.RequestStream.WriteAsync(request);
}
await call.RequestStream.CompleteAsync();
await responseReaderTask;
}