深圳新瑞彩网络科技有限公司

IOS: 连接

版本/作者/日期修改内容
1.0/Sandy/2015-09-24初版

3.连接

条件:sdk初始化成功
语法:
1)函数
-(int)smartConnect:(BOOL)autoRetry
     retryInterval:(int)retry_sec;//智能连接,根据自身属性和网络状况自动选择连接方式
参数:(BOOL)autoRetry:是否自动重连接
      (int)retry_sec:重连间隔时间

-(int)connect:(IPCamera_CONNECT_TYPE)connectType
    autoRetry:(BOOL)autoRetry 
retryInterval:(NSUInteger)retry_sec;//指定类型连接摄像机

参数:(IPCamera_CONNECT_TYPE)connectType:连接类型
			CONNECT_TYPE_UNKNOWN     = -1,
			CONNECT_TYPE_LAN         = 0,   //局域网直连
			CONNECT_TYPE_P2P         = 2,   //P2P方式
			CONNECT_TYPE_DDNS        = 3,   //DDNS方式直连
     (BOOL)autoRetry:是否自动重连接
    (int)retry_sec:重连间隔时间

-(void)disconnect; //断开连接
2)消息

FOUNDATION_EXPORT NSString* const IPCamera_Connect_Status_Changed_Notification;

3)消息回调函数

-(void)IPCamera_response_function:(NSNotification*)note;

IPCamera.h宏定义了两种注册消息的方法
#define ADD_IPCAMERA_RESPONSE_WITHOUT_ARG(notice_name) \
    [[NSNotificationCenter defaultCenter] addObserver: self selector:               @selector(IPCamera_response_function:) name: notice_name object: nil]

#define ADD_IPCAMERA_RESPONSE_WITH_ARG(notice_name,camera_object) \
    [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(IPCamera_response_function:) name: notice_name object: camera_object]
示列
1)连接
方法一:局域网连接
//创建一个cam+注册消息
    IPCamera * cam_ = [[IPCamera alloc]init]; 
     ADD_IPCAMERA_RESPONSE_WITH_ARG( IPCamera_Connect_Status_Changed_Notification, cam_) 

//cam的属性参数   
        cam_.ID; //ID
        cam_.host;//IP
        cam_.port; //端口
        cam_.user; //用户名
        cam_.pwd;  //密码
        cam_.ssl;  //是否加密传输 ,1是0否
    [cam_ connect:CONNECT_TYPE_LAN autoRetry:YES retryInterval:10.0];
方法二:p2p连接
//创建一个cam+注册消息
    IPCamera * cam_ = [[IPCamera alloc]init]; 
     ADD_IPCAMERA_RESPONSE_WITH_ARG( IPCamera_Connect_Status_Changed_Notification, cam_)
//cam的属性参数   
        cam_.ID; //ID
        cam_.user; //用户名
        cam_.pwd;  //密码
        cam_.ssl;  //是否加密传输 ,1是0否
    [cam_ connect:CONNECT_TYPE_P2P autoRetry:YES retryInterval:10.0];
方法三:智能连接+注册消息
//创建一个cam
    IPCamera * cam_ = [[IPCamera alloc]init]; 
    ADD_IPCAMERA_RESPONSE_WITH_ARG( IPCamera_Connect_Status_Changed_Notification, cam_) 
//获取cam的属性参数   
        cam_.ID; //ID
        cam_.user; //用户名
        cam_.pwd;  //密码
        cam_.ssl;  //是否加密传输 ,1是0否
        cam_.port; //端口  局域网直连时:self.port;P2P连接时: self.currentP2PPort;
        cam_.host; //ip        局域网直连时:是self.host; P2P连接时:是127.0.0.1
//连接
        [item smartConnect: YES retryInterval: 10.0 ];
2)消息回调
-(void)IPCamera_response_function:(NSNotification*)note
{
    if( [note.name isEqualToString:IPCamera_Connect_Status_Changed_Notification ])
    {
        NSLog(@"连接发生改变改变");   
    }
}
3)断开连接

[cam_ disconnect];

来源地址:http://wiki.reecam.cn/IOS/Connect
本页面最后修订于:2015-09-25 11:26