宽窄优行-由【嘉易行】项目成品而来
younger_times
2023-04-06 a1ae6802080a22e6e6ce6d0935e95facb1daca5c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
//
//  RHSocketPacket.h
//  RHSocketDemo
//
//  Created by zhuruhong on 15/6/18.
//  Copyright (c) 2015年 zhuruhong. All rights reserved.
//
 
#import <Foundation/Foundation.h>
 
#pragma mark - socket packet
 
/**
 *  数据包协议
 */
@protocol RHSocketPacket <NSObject>
 
@required
 
/**
 *  数据包携带的数据变量(可以是任何数据格式)
 */
@property (nonatomic, strong) id object;
 
@optional
 
/**
 *  类似tag,必要的时候实现,用于区分某个数据包
 */
@property (nonatomic, assign) NSInteger pid;
 
- (instancetype)initWithObject:(id)aObject;
- (NSData *)dataWithPacket;
- (NSString *)stringWithPacket;
 
@end
 
#pragma mark - upstream packet
 
/**
 *  上行数据包协议,发送数据时,必须遵循的协议
 */
@protocol RHUpstreamPacket <RHSocketPacket>
 
@optional
 
/**
 *  发送数据超时时间,必须设置。-1时为无限等待
 */
@property (nonatomic, assign) NSTimeInterval timeout;
 
@end
 
#pragma mark - downstream packet
 
/**
 *  下行数据包协议,接收数据时,必须遵循的协议
 */
@protocol RHDownstreamPacket <RHSocketPacket>
 
@end