connect method

Future<void> connect({
  1. String? defaultProjectName,
  2. int? port,
  3. HostHandle? hostHandle,
  4. Duration? timeOut,
  5. String? initHost,
  6. DataFormatVersions? version,
  7. ValueChanged<Socket>? connectSuccess,
  8. ServerMessageHandle? handle,
})

连接到idea插件

Implementation

Future<void> connect(
    {String? defaultProjectName,
    int? port,
    HostHandle? hostHandle,
    Duration? timeOut,
    String? initHost,
    DataFormatVersions? version,
    ValueChanged<Socket>? connectSuccess,
    ServerMessageHandle? handle}) async {
  final infos = await PackageInfo.fromPlatform();
  var appName = infos.appName;
  if (appName.isEmpty) {
    appName = defaultProjectName ?? '未知项目';
  }
  projectName = appName + '(' + infos.version + ')';
  String ip = await IpUtil.instance.checkConnectServerAddress(port ?? serverPort, conectSuccess: (s) {
    socket = s;
    connectSuccess?.call(s);
  }, hostHandle: hostHandle, timeOut: timeOut, initHost: initHost);
  if (socket != null && ip.isNotEmpty) {
    socket!.listen((event) {
      var str = utf8.decode(event..buffer.asByteData());
      responseHandle(str,handle);
    }, onDone: () {
      debugPrint("连接断开,准备重连");
    }, onError: (e) {
      debugPrint("出现错误....准备重连");
    });
  } else {}
}