提示:MobileIMSDK的iOS客户端lib包支持iOS 6.0(含)及以上版本,且已支持bitcode,enjoy it!
// 设置AppKey [ConfigEntity registerWithAppKey:@"5418023dfd98c579b6001741"]; // 设置服务器ip和服务器端口 // [ConfigEntity setServerIp:@"rbcore.openmob.net"]; // [ConfigEntity setServerPort:7901]; // 使用以下代码表示不绑定固定port(由系统自动分配),否则使用默认的7801端口 // [ConfigEntity setLocalSendAndListeningPort:-1]; // 框架的敏感度模式设置 // [ConfigEntity setSenseMode:SenseMode10S]; // 设置最大TCP帧内容长度(不设置则默认最大是 6 * 1024字节) // [TCPFrameCodec setTCP_FRAME_MAX_BODY_LENGTH:60 * 1024]; // 开启DEBUG信息输出 [ClientCoreSDK setENABLED_DEBUG:YES];
#import "ChatBaseEventImpl.h" #import "AppDelegate.h" #import "MainViewController.h" @implementation ChatBaseEventImpl // 登陆/掉线重连结果通知 - (void) onLoginResponse:(int)errorCode { if (dwErrorCode == 0) NSLog(@"登录成功。"); else NSLog(@"登录失败,错误代码:%d", errorCode); } // 掉线事件通知 - (void) onLinkClose:(int)errorCode { NSLog(@"网络连断开了,error:%d", errorCode); } @end
#import "ChatMessageEventImpl.h" #import "Toast+UIView.h" #import "AppDelegate.h" #import "MainViewController.h" @implementation ChatMessageEventImpl - (void) onRecieveMessage:(NSString *)fingerPrintOfProtocal withUserId:(NSString *)dwUserid andContent:(NSString *)dataContent andTypeu:(int)typeu { NSLog(@"收到来自用户%d的消息:%@", dwUserid, dataContent); } - (void) onErrorResponse:(int)errorCode withErrorMsg:(NSString *)errorMsg { NSLog(@"收到服务端错误消息,errorCode=%d, errorMsg=%@", errorCode, errorMsg); } @end
#import "MessageQoSEventImpl.h" #import "AppDelegate.h" #import "MainViewController.h" @implementation MessageQoSEventImpl - (void) messagesLost:(NSArray*)lostMessages { NSLog(@"收到系统的未实时送达事件通知,当前共有%li个包QoS保证机制结束,判定为【无法实时送达】!" , (unsigned long)[lostMessages count]); } - (void) messagesBeReceived:(NSString *)theFingerPrint { if(theFingerPrint != nil) { NSLog(@"收到对方已收到消息事件的通知,fp=%@", theFingerPrint); } } @end
// 设置事件回调 [ClientCoreSDK sharedInstance].chatBaseEvent = [[ChatBaseEventImpl alloc] init]; [ClientCoreSDK sharedInstance].chatMessageEvent = [[ChatBaseEventImpl alloc] init]; [ClientCoreSDK sharedInstance].messageQoSEvent = [[MessageQoSEventImpl alloc] init];
int code = [[LocalUDPDataSender sharedInstance] sendLogin:用户名 withPassword:密码]; if(code == COMMON_CODE_OK) NSLog(@"提示" withContent:@"登陆请求已发出。。。"); else NSLog([NSString stringWithFormat:@"登陆请求发送失败,错误码:%d", code]);
int code = [[LocalUDPDataSender sharedInstance] sendCommonDataWithStr:@"这是一条测试信息..." toUserId:对方的userId qos:YES fp:nil]; if(code == COMMON_CODE_OK) NSLog(@"提示" withContent:@"您的消息已成功发出。。。"); else NSLog([NSString stringWithFormat:@"您的消息发送失败,错误码:%d", code]);
// MobileIMSDK核心IM框架的敏感度模式设置 [ConfigEntity setSenseMode:SenseMode15S];
鉴于UDP通信的无连接特性,MobileIMSDK的服务端反馈回来的登陆结果自然也是异步到达,但这对开发者来说,只要代码处理得当,实现起来同样简单:即登陆请求发起前设置一个登陆结果观察者需可。
来源:即时通讯网 - 即时通讯开发者社区!
轻量级开源移动端即时通讯框架。
快速入门 / 性能 / 指南 / 提问
轻量级Web端即时通讯框架。
详细介绍 / 精编源码 / 手册教程
移动端实时音视频框架。
详细介绍 / 性能测试 / 安装体验
基于MobileIMSDK的移动IM系统。
详细介绍 / 产品截图 / 安装体验
一套产品级Web端IM系统。
详细介绍 / 产品截图 / 演示视频
引用:xixi 发表于 2018-12-12 13:48 弱弱问一句 ,还有么?
引用:Harley 发表于 2019-09-24 17:28 [ConfigEntity registerWithAppKey"5418023dfd98c579b6001741"] 中的这个appkey如何获得啊?从哪得到
引用:xiongxiangsheng 发表于 2021-01-29 15:41 以前接触过Android的,今天看看学些iOS的,谢谢!
引用:sunshine_wang 发表于 2024-01-26 17:40 有没有遇到这种情况的:我在接受消息的方法里 onRecieveMessage 页面上的数据都被置空了
引用:JackJiang 发表于 2024-01-26 17:59 不太理解你的问题,你应该分段调试诊断: 第一步:诊断网络层收到的数据是不是正常,就是看一下ChatMe ...
引用:sunshine_wang 发表于 2024-01-30 15:31 最后用了通知的方式传递得数据
精华主题数超过100个。
连续任职达2年以上的合格正式版主
为论区做出突出贡献的开发者、版主等。
Copyright © 2014-2024 即时通讯网 - 即时通讯开发者社区 / 版本 V4.4
苏州网际时代信息科技有限公司 (苏ICP备16005070号-1)
Processed in 0.203124 second(s), 46 queries , Gzip On.