123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- //
- // NIMServerSetting.h
- // NIMLib
- //
- // Created by Netease.
- // Copyright (c) 2015年 Netease. All rights reserved.
- //
- #import <Foundation/Foundation.h>
- #import "NIMEncryptionConfig.h"
- NS_ASSUME_NONNULL_BEGIN
- typedef NS_ENUM (NSInteger, NIMHandshakeType){
- NIMHandshakeTypeBasics = 0,
- NIMHandshakeTypeAdvanced,
- };
- typedef NS_ENUM (NSInteger, NIMLinkAddressType){
- NIMLinkAddressTypeIpv4 = 0, //仅使用IPv4
- NIMLinkAddressTypeIpv6, //仅使用IPv6
- NIMLinkAddressTypeAuto, //自动选择
- };
- /**
- * 云信服务器配置
- */
- @interface NIMServerSetting : NSObject
- /**
- * 握手协议类型。基础的类型仅支持设置module和version.使用RSA和RC4加密方式。
- * 高级类型,可以通过配置encryptConfig来指定使用的加密类型。默认:NIMHandshakeTypeBasics
- */
- @property (nonatomic,assign) NIMHandshakeType handshakeType;
- /**
- * module
- */
- @property (nonatomic,copy) NSString *module;
- /**
- * 版本
- */
- @property (nonatomic,assign) NSInteger version;
- /**
- * 是否是专属云
- */
- @property (nonatomic, assign) BOOL isSpecialCloud;
- /**
- * 握手加密配置
- */
- @property (nonatomic,readonly) NIMEncryptionConfig *encryptConfig;
- /**
- * IM 服务器 lbs 地址
- */
- @property (nonatomic,copy) NSString *lbsAddress;
- /**
- * IM 服务器默认地址, IPv4
- */
- @property (nonatomic,copy) NSString *linkAddress;
- /**
- * IM 服务器默认地址, IPv6
- */
- @property (nonatomic,copy) NSString *ipv6LinkAddress;
- /**
- * NOS 服务器 lbs 地址
- */
- @property (nonatomic,copy) NSString *nosLbsAddress;
- /**
- * NOS 上传服务器默认地址
- */
- @property (nonatomic,copy) NSString *nosUploadAddress;
- /**
- * 是否开启 HTTPS 支持
- * @discussion 默认情况为 YES,若需要使用非 HTTPS 进行文件上传下载,则设置为 NO。
- * 如果设置为 YES,上传将使用 https 上传,所有返回 url 的地方也会尝试将 http url 调整为 https url
- * 如果设置为 NO,上传将使用 http 上传,而所有返回 url 的地方都只返回原 url,而不做任何处理,同时 `SDKConfig` 中 `enabledHttpsForInfo` 和 `enabledHttpsForMessage` 将无效
- */
- @property (nonatomic,assign) BOOL httpsEnabled;
- /**
- * NOS 上传 Host,用于 HTTPS 上传时 Host 验证
- */
- @property (nonatomic,copy,nullable) NSString *nosUploadHost;
- /**
- * NOS 下载地址,用于拼接下载地址
- */
- @property (nonatomic,copy) NSString *nosDownloadAddress;
- /**
- * NOS 加速 Host
- */
- @property (nonatomic,copy,nullable) NSString *nosAccelerateHost;
- /**
- * NOS 加速替换地址
- */
- @property (nonatomic,copy,nullable) NSString *nosAccelerateAddress;
- /**
- * NT 服务器地址
- */
- @property (nonatomic,copy,nullable) NSString *ntServerAddress;
- /**
- * IPv4 连通性检测地址
- */
- @property (nonatomic,copy,nullable) NSString *lbsIpv4DetectAddress;
- /**
- * IPv6 连通性检测地址
- */
- @property (nonatomic,copy,nullable) NSString *lbsIpv6DetectAddress;
- /**
- * lbs返回的link地址的类型, 在初始化前设置
- */
- @property (nonatomic, assign) NIMLinkAddressType lbsLinkAddressType;
- /**
- * 从配置数据更新
- */
- - (void)updateSettingFromConfigData:(NSData *)data;
- @end
- NS_ASSUME_NONNULL_END
|