1
我正在對通過TCP從服務器接收一組不同消息的客戶端進行編程。我創建了一個簡單的測試類,它能夠連接到服務器並以NSData塊的形式接收消息。但現在我被困在如何從這裏開始,需要一些設計建議。客戶端通過網絡接收消息的設計建議
一個想法我是創建一個協議,對於每個消息,通知委託與接收到的消息的類型和包含消息的對象:
協議
-(void)didReceiveLifesign:(LifesignMessage*)message;
-(void)didReceiveLocation:(LocationMessage*)message;
...
分析器
-(void)didReceiveData:(NSData*)data {
int type = getType(data);
switch(type) {
case 0: [self.delegate didReceiveLifesign:parseLifesign(data); break;
case 1: [self.delegate didReceiveLocation:parseLocation(data); break;
...
}
}
但隨着消息量的增長我覺得這個解決方案很混亂。有沒有更好的方法來做到這一點?