p2pConnect method

Future<ClientConnectState> p2pConnect({
  1. bool lanScan = true,
  2. int reConnectCount = 2,
  3. required int connectType,
})
inherited

进行连接 @param lanScan 是否进行局域网搜索 @param recount 重连次数

@return true 调用成功 false 调用失败

Implementation

Future<ClientConnectState> p2pConnect(
    {bool lanScan = true,
    int reConnectCount = 2,
    required int connectType}) async {
  if (p2pConnectState == ClientConnectState.CONNECT_STATUS_CONNECTING) {
    return p2pConnectState;
  }

  p2pConnectState = ClientConnectState.CONNECT_STATUS_CONNECTING;

  int clientPtr = await getClientPtr();

  if (clientPtr == null || clientPtr == 0) {
    p2pConnectState = ClientConnectState.CONNECT_STATUS_INVALID_CLIENT;

    return p2pConnectState;
  }

  String serverParam = await getServiceParam();
  if (serverParam == null) {
    p2pConnectState = ClientConnectState.CONNECT_STATUS_INVALID_CLIENT;

    return p2pConnectState;
  }

  ClientConnectState state = await _beginConnect(
      clientPtr, serverParam, lanScan, reConnectCount, connectType);

  if (state == ClientConnectState.CONNECT_STATUS_ONLINE) {
    _disconnectCompleter = Completer();
    AppP2PApi().setConnectListener(clientPtr, _onConnectListener);
  } else {}

  p2pConnectState = state;

  return p2pConnectState;
}