我有一个将处理异步套接字的服务。我将有几种不同的请求类型可以被这个服务接收,但是我想避免使用任何类型的switch语句来决定如何处理接收到的数据。在服务上处理不同类型的异步套接字接收数据
现在,我有一个请求对象将包含发件人信息,请求类型和一个通用对象,其中将包含与请求有关的信息。例如:
例如:登录请求将使用名称/密码散列发送。
我能想到的来处理这些一旦被重建的唯一方法是有,说
if (requestType = 0)
HandleLogin(receivedData);
else if (requestType = 1)
HandleDataRequest(receivedData);
我认为抽象的,但我想,因为类需要共享一个大的switch语句客户端/服务器为了进行序列化和反序列化,客户端也将具有服务器逻辑。
class LoginRequest : Request
{
public override void HandleRequest()
{
// Server logic here. But then client
// would have this useless logic in it's library.
}
}
如果有人能指出我在正确的方向,我将不胜感激!
我通常在switch语句中尝试TypeOf()。 – jdweng
这肯定比int requestType开关更好,使其更具可读性。但我希望避免转换语句完全赞成抽象。我不知道它是否可行,或者这是大多数异步套接字接收函数的工作方式。 – Datastream