NIM PC Cross Platform SDK
nim_rts.h File Reference

实时会话(数据通道) 接口头文件,如果需要用到音视频功能请使用音视频设备相关接口 More...

#include "nim_rts_def.h"
#include "public_defines.h"

Go to the source code of this file.

Functions

NIM_SDK_DLL_API void nim_rts_set_proxy (enum NIMProxyType type, const char *host, int port, const char *user, const char *password)
 
NIM_SDK_DLL_API void nim_rts_start (int channel_type, const char *uid, const char *json_extension, nim_rts_start_cb_func cb, const void *user_data)
 
NIM_SDK_DLL_API void nim_rts_set_start_notify_cb_func (nim_rts_start_notify_cb_func cb, const void *user_data)
 
NIM_SDK_DLL_API void nim_rts_create_conf (const char *name, const char *custom_info, const char *json_extension, nim_rts_create_cb_func cb, const void *user_data)
 
NIM_SDK_DLL_API void nim_rts_join_conf (const char *name, const char *json_extension, nim_rts_join_cb_func cb, const void *user_data)
 
NIM_SDK_DLL_API void nim_rts_ack (const char *session_id, int channel_type, bool accept, const char *json_extension, nim_rts_ack_res_cb_func cb, const void *user_data)
 
NIM_SDK_DLL_API void nim_rts_set_ack_notify_cb_func (nim_rts_ack_notify_cb_func cb, const void *user_data)
 
NIM_SDK_DLL_API void nim_rts_set_sync_ack_notify_cb_func (nim_rts_sync_ack_notify_cb_func cb, const void *user_data)
 
NIM_SDK_DLL_API void nim_rts_set_connect_notify_cb_func (nim_rts_connect_notify_cb_func cb, const void *user_data)
 
NIM_SDK_DLL_API void nim_rts_set_member_change_cb_func (nim_rts_member_change_cb_func cb, const void *user_data)
 
NIM_SDK_DLL_API void nim_rts_control (const char *session_id, const char *info, const char *json_extension, nim_rts_control_res_cb_func cb, const void *user_data)
 
NIM_SDK_DLL_API void nim_rts_set_control_notify_cb_func (nim_rts_control_notify_cb_func cb, const void *user_data)
 
NIM_SDK_DLL_API void nim_rts_set_vchat_mode (const char *session_id, int mode, const char *json_extension)
 
NIM_SDK_DLL_API void nim_rts_hangup (const char *session_id, const char *json_extension, nim_rts_hangup_res_cb_func cb, const void *user_data)
 
NIM_SDK_DLL_API void nim_rts_set_hangup_notify_cb_func (nim_rts_hangup_notify_cb_func cb, const void *user_data)
 
NIM_SDK_DLL_API void nim_rts_relogin (const char *session_id, int channel_type, const char *json_extension, nim_rts_opt_cb_func cb, const void *user_data)
 
NIM_SDK_DLL_API void nim_rts_send_data (const char *session_id, int channel_type, const char *data, unsigned int size, const char *json_extension)
 
NIM_SDK_DLL_API void nim_rts_set_rec_data_cb_func (nim_rts_rec_data_cb_func cb, const void *user_data)
 

Detailed Description

实时会话(数据通道) 接口头文件,如果需要用到音视频功能请使用音视频设备相关接口

Author
gq
Date
2015/6/30

Function Documentation

◆ nim_rts_ack()

void nim_rts_ack ( const char *  session_id,
int  channel_type,
bool  accept,
const char *  json_extension,
nim_rts_ack_res_cb_func  cb,
const void *  user_data 
)

NIM 回复收到的邀请

Parameters
[in]session_id会话id
[in]channel_type通道类型,暂时无效
[in]accept是否接受
[in]json_extensionJson string 扩展
[in]cb见nim_rts_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数,不做任何处理!
Returns
void 无返回值

◆ nim_rts_control()

void nim_rts_control ( const char *  session_id,
const char *  info,
const char *  json_extension,
nim_rts_control_res_cb_func  cb,
const void *  user_data 
)

NIM 会话控制(透传),点对点有效

Parameters
[in]session_id会话id
[in]info透传数据
[in]json_extension无效的扩展字段
[in]cb见nim_rts_def.h
[in]user_data无效的扩展字段
Returns
void 无返回值

◆ nim_rts_create_conf()

void nim_rts_create_conf ( const char *  name,
const char *  custom_info,
const char *  json_extension,
nim_rts_create_cb_func  cb,
const void *  user_data 
)

NIM VCHAT 创建一个多人数据通道房间(后续需要主动调用加入接口进入房间)

Parameters
[in]name房间名
[in]custom_info自定义的房间信息(加入房间的时候会返回)
[in]json_extension无效扩展字段
[in]cb结果回调见nim_rts_def.h,返回的json_extension无效
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值
Note
错误码 200:成功 417:提示已经创建好频道

◆ nim_rts_hangup()

void nim_rts_hangup ( const char *  session_id,
const char *  json_extension,
nim_rts_hangup_res_cb_func  cb,
const void *  user_data 
)

NIM 结束会话

Parameters
[in]session_id会话id
[in]json_extension无效的扩展字段
[in]cb见nim_rts_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数,不做任何处理!
Returns
void 无返回值

◆ nim_rts_join_conf()

void nim_rts_join_conf ( const char *  name,
const char *  json_extension,
nim_rts_join_cb_func  cb,
const void *  user_data 
)

NIM VCHAT 加入一个多人房间(进入房间后成员变化等,等同点对点nim_vchat_cb_func)

Parameters
[in]name房间名
[in]json_extension扩展可选参数kNIMRtsDataRecord,kNIMRtsSessionId, 如{"data_record":1, "session_id":"b76e2b7ae065224499e4d7138d643961"}
[in]cb结果回调见nim_rts_def.h,回调的json_extension若成功返回创建的kNIMRtsCustomInfo及kNIMRtsChannelId,如{"channel_id": 1231, "custom_info":"hello world" }
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!
Returns
void 无返回值
Note
错误码 200:成功

◆ nim_rts_relogin()

void nim_rts_relogin ( const char *  session_id,
int  channel_type,
const char *  json_extension,
nim_rts_opt_cb_func  cb,
const void *  user_data 
)

NIM RTS 重连接口

Parameters
[in]session_id会话id
[in]channel_type通道类型,暂时只支持白板类型
[in]json_extension无效的扩展字段
[in]cb见nim_rts_def.h,返回重连操作结果
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数,不做任何处理!
Returns
void 无返回值

◆ nim_rts_send_data()

void nim_rts_send_data ( const char *  session_id,
int  channel_type,
const char *  data,
unsigned int  size,
const char *  json_extension 
)

NIM 发送数据,暂时支持tcp通道,建议发送频率在20Hz以下,现在只支持50k的长度

Parameters
[in]session_id会话id
[in]channel_type通道类型, kNIMRtsChannelTypeVchat通道如果要自定义数据调用nim_device.h中nim_vchat_custom_audio_data和nim_vchat_custom_video_data
[in]data发送数据
[in]sizedata的数据长度,现在只支持50k的长度
[in]json_extension可扩展kNIMRtsUid(指定发送某人,不填则群发)
Returns
void 无返回值

◆ nim_rts_set_ack_notify_cb_func()

void nim_rts_set_ack_notify_cb_func ( nim_rts_ack_notify_cb_func  cb,
const void *  user_data 
)

NIM 设置收到对方回复的通知回调

Parameters
[in]cb见nim_rts_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数,不做任何处理!
Returns
void 无返回值
Note
错误码 200:成功 509:失效

◆ nim_rts_set_connect_notify_cb_func()

void nim_rts_set_connect_notify_cb_func ( nim_rts_connect_notify_cb_func  cb,
const void *  user_data 
)

NIM 设置监听通道连接状态回调

Parameters
[in]cb见nim_rts_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数,不做任何处理!
Returns
void 无返回值

◆ nim_rts_set_control_notify_cb_func()

void nim_rts_set_control_notify_cb_func ( nim_rts_control_notify_cb_func  cb,
const void *  user_data 
)

NIM 设置收到会话控制的通知回调

Parameters
[in]cb见nim_rts_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数,不做任何处理!
Returns
void 无返回值

◆ nim_rts_set_hangup_notify_cb_func()

void nim_rts_set_hangup_notify_cb_func ( nim_rts_hangup_notify_cb_func  cb,
const void *  user_data 
)

NIM 设置结束会话通知回调,多人的时候结束后对方无通知。

Parameters
[in]cb见nim_rts_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数,不做任何处理!
Returns
void 无返回值

◆ nim_rts_set_member_change_cb_func()

void nim_rts_set_member_change_cb_func ( nim_rts_member_change_cb_func  cb,
const void *  user_data 
)

NIM 设置监听通道成员状态回调

Parameters
[in]cb见nim_rts_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数,不做任何处理!
Returns
void 无返回值
Note
错误码 200:成功

◆ nim_rts_set_proxy()

void nim_rts_set_proxy ( enum NIMProxyType  type,
const char *  host,
int  port,
const char *  user,
const char *  password 
)

设置SDK白板的网络代理,暂时只支持socks5代理,全局代理接口也能设置音视频的代理,两接口没有优先级区别。不需要代理时,type设置为kNIMProxyNone,其余参数都传空字符串(端口设为0)。有些代理不需要用户名和密码,相应参数也传空字符串。

Parameters
[in]type代理类型,见NIMProxyType定义,其中音视频和白板暂时只支持kNIMProxySocks5代理
[in]host代理地址
[in]port代理端口
[in]user代理用户名
[in]password代理密码
Returns
void 无返回值

◆ nim_rts_set_rec_data_cb_func()

void nim_rts_set_rec_data_cb_func ( nim_rts_rec_data_cb_func  cb,
const void *  user_data 
)

NIM 设置监听数据接收回调, kNIMRtsChannelTypeVchat通道要监听音视频数据,调用nim_device.h中nim_vchat_set_audio_data_cb和nim_vchat_set_video_data_cb

Parameters
[in]cb见nim_rts_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数,不做任何处理!
Returns
void 无返回值

◆ nim_rts_set_start_notify_cb_func()

void nim_rts_set_start_notify_cb_func ( nim_rts_start_notify_cb_func  cb,
const void *  user_data 
)

NIM 设置收到会话邀请的通知的回调

Parameters
[in]cb见nim_rts_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数,不做任何处理!
Returns
void 无返回值
Note
错误码 200:成功 404:对象不存在,发起记录不存在 509:通道失效

◆ nim_rts_set_sync_ack_notify_cb_func()

void nim_rts_set_sync_ack_notify_cb_func ( nim_rts_sync_ack_notify_cb_func  cb,
const void *  user_data 
)

NIM 设置收到本人其他端回复的同步通知回调

Parameters
[in]cb见nim_rts_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数,不做任何处理!
Returns
void 无返回值

◆ nim_rts_set_vchat_mode()

void nim_rts_set_vchat_mode ( const char *  session_id,
int  mode,
const char *  json_extension 
)

NIM 设置音视频会话类型

Parameters
[in]session_id会话id
[in]mode见NIMRtsVideoChatMode
[in]json_extension无效的扩展字段
Returns
void 无返回值

◆ nim_rts_start()

void nim_rts_start ( int  channel_type,
const char *  uid,
const char *  json_extension,
nim_rts_start_cb_func  cb,
const void *  user_data 
)

NIM 创建rts会话,传入的JSON参数定义见nim_rts_def.h

Parameters
[in]channel_type通道类型 如要tcp+音视频,则channel_type=kNIMRtsChannelTypeTcp|kNIMRtsChannelTypeVchat,同时整个SDK只允许一个音视频通道存在(包括vchat)
[in]uid对方帐号
[in]json_extensionJson string 扩展
[in]cb结果回调见nim_rts_def.h
[in]user_dataAPP的自定义用户数据,SDK只负责传回给回调函数,不做任何处理!
Returns
void 无返回值
Note
错误码 200:成功 414:参数错误 501:数据库失败 509:通道失效 514:服务不可用 11001:无可送达的被叫方,主叫方可直接挂断