Commit 46495bfd by zhangyunjie

封装OffcnIMSocketManager

parent 49a8dc5c
......@@ -206,6 +206,7 @@
A9D1B31424EE0772000F4662 /* oimcore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9D1B31224EE076B000F4662 /* oimcore.framework */; };
A9D1B31524EE0772000F4662 /* oimcore.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = A9D1B31224EE076B000F4662 /* oimcore.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
A9D1B31824EFAD8C000F4662 /* OffcnUploadManager.m in Sources */ = {isa = PBXBuildFile; fileRef = A9D1B31724EFAD8C000F4662 /* OffcnUploadManager.m */; };
A9D1B31B24F34C25000F4662 /* OffcnIMSocketManager.m in Sources */ = {isa = PBXBuildFile; fileRef = A9D1B31A24F34C25000F4662 /* OffcnIMSocketManager.m */; };
B94FCB1053F8932068A11CC9 /* libPods-OffcnIMSDKiOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 49CE5E230A14D9B821170F61 /* libPods-OffcnIMSDKiOS.a */; };
/* End PBXBuildFile section */
......@@ -638,6 +639,8 @@
A9D1B31224EE076B000F4662 /* oimcore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = oimcore.framework; sourceTree = "<group>"; };
A9D1B31624EFAD8C000F4662 /* OffcnUploadManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = OffcnUploadManager.h; sourceTree = "<group>"; };
A9D1B31724EFAD8C000F4662 /* OffcnUploadManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = OffcnUploadManager.m; sourceTree = "<group>"; };
A9D1B31924F34C25000F4662 /* OffcnIMSocketManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = OffcnIMSocketManager.h; sourceTree = "<group>"; };
A9D1B31A24F34C25000F4662 /* OffcnIMSocketManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = OffcnIMSocketManager.m; sourceTree = "<group>"; };
D7DCDED1DEE7F99F223D5C73 /* Pods-OffcnIMSDKiOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-OffcnIMSDKiOS.release.xcconfig"; path = "Target Support Files/Pods-OffcnIMSDKiOS/Pods-OffcnIMSDKiOS.release.xcconfig"; sourceTree = "<group>"; };
/* End PBXFileReference section */
......@@ -1439,6 +1442,8 @@
A966274C24EBA56C0024EB54 /* OffcnIMSDKiOS.m */,
A9D1B31624EFAD8C000F4662 /* OffcnUploadManager.h */,
A9D1B31724EFAD8C000F4662 /* OffcnUploadManager.m */,
A9D1B31924F34C25000F4662 /* OffcnIMSocketManager.h */,
A9D1B31A24F34C25000F4662 /* OffcnIMSocketManager.m */,
);
path = "ExposedInterface-(外放接口)";
sourceTree = "<group>";
......@@ -1663,6 +1668,7 @@
A966216924EA80A60024EB54 /* ZYJMASViewAttribute.m in Sources */,
A966215424EA80A60024EB54 /* ZYJZYJFMResultSet.m in Sources */,
A966219D24EA80A60024EB54 /* NSMutableDictionary+ZYJOSS.m in Sources */,
A9D1B31B24F34C25000F4662 /* OffcnIMSocketManager.m in Sources */,
A96621A424EA80A60024EB54 /* ZYJOSSNetworkingRequestDelegate.m in Sources */,
A966216E24EA80A60024EB54 /* ZYJReachStateUnloaded.m in Sources */,
A966218624EA80A60024EB54 /* NSData+ZYJImageContentType.m in Sources */,
......
//
//
// OffcnIMSocketManager.h
// OffcnIMSDKiOS
//
// Created by vockey on 2020/8/24.
// Copyright © 2020 offcn. All rights reserved.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
typedef NS_ENUM(NSUInteger, OffcnIMConnectStatus) {
OffcnIMConnectStatusSuccess, //连接成功
OffcnIMConnectStatusFail, //连接失败
OffcnIMConnectStatusBreak, //连接断开
OffcnIMConnectStatusDisConnectOK, //手动断开成功
};
//收到消息回调
typedef void(^OffcnIMConnectReceiveMessage)(NSString *message);
//连接状态回调
typedef void(^OffcnIMReceiveConnectStatus)(OffcnIMConnectStatus status,NSString *errorMessage);
@interface OffcnIMSocketManager : NSObject
@property (nonatomic, copy) OffcnIMConnectReceiveMessage connectReceiveMessage;
@property (nonatomic, copy) OffcnIMReceiveConnectStatus connectStatus;
+(OffcnIMSocketManager *)defaultService;
//建立连接
-(void)connectIMServerWithParam:(NSString *)param;
//断开连接
-(void)disConnectIMServer;
@end
NS_ASSUME_NONNULL_END
//
//
// OffcnIMSocketManager.m
// OffcnIMSDKiOS
//
// Created by vockey on 2020/8/24.
// Copyright © 2020 offcn. All rights reserved.
//
#import "OffcnIMSocketManager.h"
#import <oimcore/oimcoreAdapter.h>
@interface OffcnIMSocketManager ()<OIMCoreDelegate>
@property (nonatomic, strong) OIMCoreAdapter *adapter;
@end
@implementation OffcnIMSocketManager
static OffcnIMSocketManager *socketManager;
+(OffcnIMSocketManager *)defaultService{
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
socketManager = [[OffcnIMSocketManager alloc] init];
});
return socketManager;
}
-(instancetype)init{
self = [super init];
if (self) {
self.adapter = [OIMCoreAdapter sharedOIMCore];
[self.adapter Initialize];
self.adapter.delegate = self;
}
return self;
}
//建立连接
-(void)connectIMServerWithParam:(NSString *)param{
[self.adapter ConnectImServerWithParam:param];
}
//断开连接
-(void)disConnectIMServer{
[self.adapter DisConnectImServer];
}
//收到消息
-(void)OnOImCoreMessageWithMessage:(const char *_Nonnull)message msgLength:(int)len{
// "{\"type\":1,\"body\":{\"session_id\":\"a05517f0-ddec-11ea-88a4-4a5555fb6ab4\",\"msg_id\":\"d5f9b600-e28f-11ea-88a4-4a5555fb6ab4\",\"version\":1,\"send_time\":\"2020-08-20 10:49:58\",\"msg_seq\":1597891798,\"msg_from\":\"jfdfjei0343\",\"msg_scope\":1,\"msg_type\":1,\"msg_content\":{\"msg\":\"随机数298\"}}}"
if (self.connectReceiveMessage) {
NSString *revStr = [NSString stringWithUTF8String:message];
self.connectReceiveMessage(revStr);
}
}
//Z_CONN_IM_SRV_OK,连接成功
//Z_CONN_IM_SRV_FAILED,连接失败
//Z_CONN_IM_SRV_BROKEN,连接断开
//Z_DISCONN_IM_SRV_OK,手动断开成功
-(void)OnOImCoreEventWithCode:(int)code context:(const char *)context{
//连接状态
if (code == 1 || code == 2) {
[self.adapter DisConnectImServer];
}
if (self.connectStatus) {
NSString *message = [NSString stringWithUTF8String:context];
if (code == 0) {
self.connectStatus(OffcnIMConnectStatusSuccess,message);
}else if (code == 1){
self.connectStatus(OffcnIMConnectStatusFail,message);
}else if (code == 2){
self.connectStatus(OffcnIMConnectStatusBreak,message);
}else if (code == 3){
self.connectStatus(OffcnIMConnectStatusDisConnectOK,message);
}
}
}
@end
......@@ -8,12 +8,11 @@
#import "ViewController.h"
#import "OffcnIMSDKiOS.h"
#import "OffcnIMSocketManager.h"
#import "OffcnNetworkExecutor.h"
#import <oimcore/oimcoreAdapter.h>
@interface ViewController ()<OIMCoreDelegate,UINavigationControllerDelegate, UIImagePickerControllerDelegate>
@interface ViewController ()<UINavigationControllerDelegate, UIImagePickerControllerDelegate>
@property (weak, nonatomic) IBOutlet UIButton *changeEnvironmentBtn;
......@@ -21,8 +20,6 @@
@property (strong, nonatomic) NSString *fromId;
@property (strong, nonatomic) NSString *toId;
@property (strong, nonatomic) OIMCoreAdapter *adapter;
@property (nonatomic, strong) UIImage *pickImage;
@property (weak, nonatomic) IBOutlet UIImageView *showImage;
@end
......@@ -45,33 +42,21 @@
}
- (IBAction)connectAction:(UIButton *)sender {
//建立连接
NSString *param = @"{\"server_ip\":\"39.102.42.185\", \"server_port\":6000, \"user_id\":\"ce0819db8391f1e7258a71cc9e2c3235\",\"app_id\":\"offcn_live\", \"device_type\":\"ios\", \"token\":\"fadbce3f4929b6bdee0617fee34e32ae\"}";
self.adapter = [OIMCoreAdapter sharedOIMCore];
self.adapter.delegate = self;
[self.adapter Initialize];
[self.adapter ConnectImServerWithParam:param];
}
-(void)OnOImCoreMessageWithMessage:(const char *_Nonnull)message msgLength:(int)len{
// "{\"type\":1,\"body\":{\"session_id\":\"a05517f0-ddec-11ea-88a4-4a5555fb6ab4\",\"msg_id\":\"d5f9b600-e28f-11ea-88a4-4a5555fb6ab4\",\"version\":1,\"send_time\":\"2020-08-20 10:49:58\",\"msg_seq\":1597891798,\"msg_from\":\"jfdfjei0343\",\"msg_scope\":1,\"msg_type\":1,\"msg_content\":{\"msg\":\"随机数298\"}}}"
NSString *paramStr = @"{\"server_ip\":\"39.102.42.185\", \"server_port\":6000, \"user_id\":\"ce0819db8391f1e7258a71cc9e2c3235\",\"app_id\":\"offcn_live\", \"device_type\":\"ios\", \"token\":\"fadbce3f4929b6bdee0617fee34e32ae\"}";
[[OffcnIMSocketManager defaultService] connectIMServerWithParam:paramStr];
//收到消息
NSLog(@"收到消息---%s",message);
}
//Z_CONN_IM_SRV_OK,连接成功
//Z_CONN_IM_SRV_FAILED,连接失败
//Z_CONN_IM_SRV_BROKEN,连接断开
//Z_DISCONN_IM_SRV_OK,手动断开成功
-(void)OnOImCoreEventWithCode:(int)code context:(const char *)context{
//连接状态
if (code == 1 || code == 2) {
[self.adapter DisConnectImServer];
}
[OffcnIMSocketManager defaultService].connectReceiveMessage = ^(NSString * _Nonnull message) {
NSLog(@"收到消息---%@",message);
};
[OffcnIMSocketManager defaultService].connectStatus = ^(OffcnIMConnectStatus status, NSString * _Nonnull errorMessage) {
NSLog(@"收到连接状态---%@,code:%lu",errorMessage,(unsigned long)status);
};
}
- (IBAction)disconnectAction:(UIButton *)sender {
//断开连接
[self.adapter DisConnectImServer];
[[OffcnIMSocketManager defaultService] disConnectIMServer];
}
- (IBAction)sendMegAction:(UIButton *)sender {
//暂无
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment