我有一個將處理異步套接字的服務。我將有幾種不同的請求類型可以被這個服務接收,但是我想避免使用任何類型的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