我做了一些彻底的研究,我不确定我是否提出了错误的问题,如果我的行话不对,那是不可能的,或者我错过了明显的问题。
简介
我正在编写一个基于插件的库,为聊天客户端创建自动响应器(连接到TCP服务器的TCP客户端(用于TCP连接的异步回调))
服务器根据客户端请求的信息返回数据包(无duh)当前正在使用带有事件和委托的回调来查找某些数据包。
var bot = new ChatClient();
bot.OnMessage += (msg) => Console.WriteLine("Message Recieved: " + msg.Content);
非常直接,但正如我发现的那样,每一个" Message Packet"服务器响应它是否通过,响应是在数据包正文中给出的JSON有效负载。目前我获得响应的代码如下:
bot.Message("Hello World", (resp) => { Console.WriteLine("Response: " + resp.Result); });
这种方式的工作方式是,每条消息都带有一个ID,服务器会使用相同ID的Response数据包进行响应。我将Action存储在具有该ID的字典中,然后在服务器响应该消息后调用该方法。
但我希望能做的事情如下:
var response = await bot.Message("Hello World");
响应对象是消息的响应。
所以,如果我正确地表达我的问题,那就是这样的:
如何使用来自事件的回调结束异步方法?
如果我使用了错误的术语,请告诉我。 :) 谢谢。 Ps:我对此问题提出了新的建议。