2.成功时需要告诉服务器的用户的密码,服务器判断是否给予授权
3.成功授权后,告诉服务器上线了。
4.将要离开时告诉服务器,我需要断开链接了。
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import <XMPP.h>
//block 用户登录,注册部分
typedef void (^OperationSuccessBlock)();
typedef void (^OperationfailedBlock)(NSString *error);
@interface SHXMPPManager : NSObject<XMPPStreamDelegate>
+(SHXMPPManager *)xmppManager;
@property(nonatomic,strong,readonly)XMPPStream *xmppStream;
//是否注册用户标示
@property (assign,nonatomic)BOOL isRegisterUser;
@property(nonatomic,copy)OperationSuccessBlock successBlock;
@property(nonatomic,copy)OperationfailedBlock failedBlock;
//初始化XMPPStream
-(void)setupStream;
//登录
-(void)loginWithUserName:(NSString *)userName password:(NSString *)password loginSuccess:(OperationSuccessBlock)loginSuceess loginFailed:(OperationfailedBlock)loginFailed;
//注册
- (void)registerWithUserName:(NSString *)userName password:(NSString *)password registerSuccess:(OperationSuccessBlock)registerSuccess registerFailed:(OperationfailedBlock)registerFailed;
@end
#import "SHXMPPManager.h"
#define dispatch_main_sync_safe(block)\
if ([NSThread isMainThread]) {\
block();\
} else {\
dispatch_sync(dispatch_get_main_queue(), block);\
}
//本地服务器端口名
#define kxmppServer @"longshihuademacbook-pro.local"
@interface SHXMPPManager (){
NSString *_userName; //用户名
NSString *_password; //密码
}
@end