Commit 53891b8c by zhangyunjie

oimcore

parent 3e59e066
// //
...@@ -16,6 +16,7 @@ typedef NS_ENUM(NSUInteger, OffcnIMConnectStatus) { ...@@ -16,6 +16,7 @@ typedef NS_ENUM(NSUInteger, OffcnIMConnectStatus) {
OffcnIMConnectStatusFail, //连接失败 OffcnIMConnectStatusFail, //连接失败
OffcnIMConnectStatusBreak, //连接断开 OffcnIMConnectStatusBreak, //连接断开
OffcnIMConnectStatusDisConnectOK, //手动断开成功 OffcnIMConnectStatusDisConnectOK, //手动断开成功
OffcnIMConnectStatusKickout, //互挤
}; };
//收到消息回调 //收到消息回调
......
// //
...@@ -165,30 +165,41 @@ static OffcnIMSocketManager *socketManager; ...@@ -165,30 +165,41 @@ static OffcnIMSocketManager *socketManager;
} }
} }
//Z_CONN_IM_SRV_OK,连接成功 //typedef enum
//Z_CONN_IM_SRV_FAILED,连接失败 //{
//Z_CONN_IM_SRV_BROKEN,连接断开 // Z_CONN_IM_SRV_OK,
//Z_DISCONN_IM_SRV_OK,手动断开成功 // Z_CONN_IM_SRV_FAILED,
-(void)OnOImCoreEventWithCode:(int)code context:(const char *)context{ //
// Z_CONN_IM_SRV_BROKEN,
//
// Z_DISCONN_IM_SRV_OK,
//
// Z_CONN_IM_KICK_OUT, //±ªÃfl ≤ª–Ë“™÷ÿ¡¨
//
//}OImEventCode;
-(void)OnOImCoreEventWithCode:(OImEventCode)code context:(const char *_Nonnull)context{
//连接状态 //连接状态
if (code == 1 || code == 2) { if (code == Z_CONN_IM_SRV_FAILED || code == Z_CONN_IM_SRV_BROKEN || code == Z_CONN_IM_KICK_OUT) {
[self.adapter DisConnectImServer]; [self.adapter DisConnectImServer];
} }
if (self.connectStatus) { if (self.connectStatus) {
NSString *message = [NSString stringWithUTF8String:context]; NSString *message = [NSString stringWithUTF8String:context];
if (code == 0) { if (code == Z_CONN_IM_SRV_OK) {
self.IMConnectStatus = OffcnIMConnectStatusSuccess; self.IMConnectStatus = OffcnIMConnectStatusSuccess;
self.connectStatus(OffcnIMConnectStatusSuccess,message); self.connectStatus(OffcnIMConnectStatusSuccess,message);
}else if (code == 1){ }else if (code == Z_CONN_IM_SRV_FAILED){
self.IMConnectStatus = OffcnIMConnectStatusFail; self.IMConnectStatus = OffcnIMConnectStatusFail;
self.connectStatus(OffcnIMConnectStatusFail,message); self.connectStatus(OffcnIMConnectStatusFail,message);
}else if (code == 2){ }else if (code == Z_CONN_IM_SRV_BROKEN){
self.IMConnectStatus = OffcnIMConnectStatusBreak; self.IMConnectStatus = OffcnIMConnectStatusBreak;
self.connectStatus(OffcnIMConnectStatusBreak,message); self.connectStatus(OffcnIMConnectStatusBreak,message);
}else if (code == 3){ }else if (code == Z_DISCONN_IM_SRV_OK){
self.IMConnectStatus = OffcnIMConnectStatusDisConnectOK; self.IMConnectStatus = OffcnIMConnectStatusDisConnectOK;
self.connectStatus(OffcnIMConnectStatusDisConnectOK,message); self.connectStatus(OffcnIMConnectStatusDisConnectOK,message);
}else if (code == Z_CONN_IM_KICK_OUT){
self.IMConnectStatus = OffcnIMConnectStatusKickout;
self.connectStatus(OffcnIMConnectStatusKickout,message);
} }
} }
} }
......
...@@ -108,6 +108,8 @@ ...@@ -108,6 +108,8 @@
errorMessage = @"连接失败,请重新连接"; errorMessage = @"连接失败,请重新连接";
}else if (status == OffcnIMConnectStatusBreak){ }else if (status == OffcnIMConnectStatusBreak){
errorMessage = @"连接断开,请重新连接"; errorMessage = @"连接断开,请重新连接";
}else if (status == OffcnIMConnectStatusKickout){
errorMessage = @"被挤掉";
} }
[weakSelf tipMessageWithTitle:@"收到连接状态" message:errorMessage]; [weakSelf tipMessageWithTitle:@"收到连接状态" message:errorMessage];
}; };
......
...@@ -44,12 +44,14 @@ namespace im ...@@ -44,12 +44,14 @@ namespace im
Z_DISCONN_IM_SRV_OK, Z_DISCONN_IM_SRV_OK,
Z_CONN_IM_KICK_OUT, //被踢 不需要重连
}OImEventCode; }OImEventCode;
class OImCoreObserver class OImCoreObserver
{ {
public: public:
virtual void OnOImCoreEvent(int code, const char *context) = 0; virtual void OnOImCoreEvent(OImEventCode code, const char *context) = 0;
virtual void OnOImCoreMessage(const char *message, int len) = 0; virtual void OnOImCoreMessage(const char *message, int len) = 0;
}; };
} }
......
...@@ -7,16 +7,15 @@ ...@@ -7,16 +7,15 @@
#import <Foundation/Foundation.h> #import <Foundation/Foundation.h>
#import <UIKit/UIKit.h> #import <UIKit/UIKit.h>
#import "oim_types.h"
using namespace offcn::im;
@protocol OIMCoreDelegate <NSObject> @protocol OIMCoreDelegate <NSObject>
-(void)OnOImCoreMessageWithMessage:(const char *_Nonnull)message msgLength:(int)len; -(void)OnOImCoreMessageWithMessage:(const char *_Nonnull)message msgLength:(int)len;
-(void)OnOImCoreEventWithCode:(int)code context:(const char *_Nonnull)context; -(void)OnOImCoreEventWithCode:(OImEventCode)code context:(const char *_Nonnull)context;
@end @end
typedef NS_ENUM(NSInteger, OImMsgType) {
kMsg_Type_Normal, //正常的聊天消息
kMsg_Type_Recv_Confirm, //收到服务端发来的消息确认消息
};
NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_BEGIN
......
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