YH_SocketService.h
2.44 KB
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
//
// YH_SocketService.h
// Yoho
//
// Created by Arthur on 16/6/16.
// Copyright © 2016年 YOHO. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "YH_BarrageViewController.h"
#import "M16Service.h"
typedef NS_ENUM(NSInteger, SOCKET_TAG) {
SOCKET_TAG_EOR = -1,
SOCKET_TAG_LOGIN = 1, // 登陆
SOCKET_TAG_SEND_MSG = 2, // 客户端发消息
SOCKET_TAG_QUIT = 3, //退出
SOCKET_TAG_USER_JOIN = 4, //服务器通知新用户加入
SOCKET_TAG_RESIVE_MSG = 5, //接收弹幕消息
SOCKET_TAG_HEARTBEAT = 7, //心跳
SOCKET_TAG_PRAISE = 8, //用户点赞
SOCKET_TAG_NotifyPRAISE = 9, //服务器通知点赞
SOCKET_TAG_NotifyPeopleNumber = 10, //服务器通知当前在线人数
SOCKET_TAG_EndPlay = 11, //结束播放
SOCKET_TAG_NotifyEndPlay = 12, //服务器通知结束播放
SOCKET_TAG_NotifyOnlineAndLikes = 13, //服务器通知点赞数和在线人数
SOCKET_TAG_NotifyEndSuccess = 99, //服务器告知推流发起结束成功
};
@protocol YH_SocketServiceDelegate <NSObject>
- (void)userPraised:(NSString *)currentTotalNum isSelfPraise:(BOOL)isSelf;
- (void)currentPeopleNumber:(NSString *)peopleNumber;
- (void)livePalyEnd:(NSString *)audienceNums likeNums:(NSString *)likeNums videoLen:(NSString *)videoLen;
- (void)liveOnlineNums:(NSString *)onlineNums likes:(NSString *)likes;
- (void)liveNotifyEndSuccess;
@end
@interface YH_SocketService : NSObject
@property (nonatomic, strong) YH_BarrageViewController *barrageViewController;
@property (nonatomic, strong) NSString *uid;
@property (nonatomic, strong) NSString *userName;
@property (nonatomic, strong) NSString *avartar;
@property (nonatomic, strong) NSString *room;
@property (nonatomic, strong) NSString *socketLiveHost;
@property (nonatomic, assign) NSInteger socketLivePort;
@property (nonatomic, assign) id<YH_SocketServiceDelegate> delegate;
@property (nonatomic, strong) NSArray *addressList;
- (BOOL)connect;
//- (BOOL)connectToHost:(NSString*)host onPort:(uint16_t)port;
- (BOOL)writeDataWithParams:(NSDictionary *)params tag:(long)tag;
- (AFHTTPRequestOperation *)barrageList:(NSDictionary *)parameters completionBlock:(ArrayBlock)block;//弹幕服务器地址请求
//登录
- (void)loginToServer;
//发消息
- (void)sendMessage:(NSString *)msg;
//用户点赞
- (void)userPraise;
//结束播放 //只有推流能调用
- (void)endPaly:(NSString *)videoLen;
//登出
-(void)logout;
//手动释放timer
//- (void)reset;
@end