# connect

public static RongIMClient connect(String token, RongIMClient.ConnectCallback connectCallback)

连接融云服务器，在整个应用程序全局，只需要调用一次，需在 init 之后调用。

调用此接口返回非业务错误码时，SDK 会启动重连机制进行重连；如果仍没有连接成功，会在设备网络状态变化时再次进行重连。如果您使用 IMKit，请使用 RongIM 中的同名方法建立与融云服务器的连接，而不要使用此方法。

调用该接口，SDK 会在连接失败之后尝试重连，将出现以下两种情况： 第一、连接成功，回调 onSuccess(userId)。 第二、出现 SDK 无法处理的错误，回调 onError(errorCode)（如 token 非法），并不再重连。

如果您不想一直进行重连，可以使用 connect(String,int,ConnectCallback) 接口并设置连接超时时间 timeLimit

#### Return

RongIMClient IM 客户端核心类的实例。

#### Parameters

token

从服务端获取的用户身份令牌（Token）。

connectCallback

连接回调扩展类，新增打开数据库的回调（OnDatabaseOpened(DatabaseOpenStatus)），会返回数据库打开的状态，； `DATABASE_OPEN_SUCCESS` 执行拉取会话列表操作，`DATABASE_OPEN_ERROR` 不处理。如连接失败，参见 ConnectionErrorCode 错误码具体说明。

public static RongIMClient connect(String token, int timeLimit, RongIMClient.ConnectCallback connectCallback)

连接融云服务器，在整个应用程序全局，只需要调用一次，需在 init 之后调用。

调用此接口返回非业务错误码时，SDK 会启动重连机制进行重连；如果仍没有连接成功，会在设备网络状态变化时再次进行重连。如果您使用 IMKit，请使用 RongIM 中的同名方法建立与融云服务器的连接，而不要使用此方法。

#### Return

RongIMClient IM 客户端核心类的实例。

#### Parameters

token

从服务端获取的用户身份令牌（Token）。

timeLimit

连接超时时间，单位：秒。`timeLimit <= 0`，则 IM 将一直连接，直到连接成功或者无法连接（如 token 非法） `timeLimit > 0` ,则 IM 将最多连接 timeLimit 秒： 如果在 timeLimit 秒内连接成功，后面再发生了网络变化或前后台切换，SDK 会自动重连； 如果在 timeLimit 秒无法连接成功则不再进行重连，通过 onError 告知连接超时，您需要再自行调用 connect 接口

connectCallback

连接回调扩展类，新增打开数据库的回调（OnDatabaseOpened(DatabaseOpenStatus)），会返回数据库打开的状态，； `DATABASE_OPEN_SUCCESS` 执行拉取会话列表操作，`DATABASE_OPEN_ERROR` 不处理。如连接失败，参见 ConnectionErrorCode 错误码具体说明。