Files
sdk/pkg/dtd_impl
Danny Tuppeny 5d3a0c2f3c [dtd] Enable web socket ping to avoid dropped idle connections
This enables the web socket ping by default at an interval of 15s. Having ping enables can prevent proxies/antivirus from dropping the web connections if they have no traffic for some period.

Having Norton 360 installed results in idle DTD connections dropping after 60s even if every feature is disabled, because the connections still go through it and it still drops idle connections.

I implemented this in the server because it applies to all uses of DTD regardless of client and it was easier to do here because pingInterval isn't exposed everywhere (but pkg:shelf does have a pass-through).

See https://github.com/Dart-Code/Dart-Code/issues/5794

Fixes https://github.com/dart-lang/sdk/issues/62148

Change-Id: If9df674b061b397cef1aa321602b563f44b9525d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/465680
Reviewed-by: Jessy Yameogo <yjessy@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
2025-12-09 10:42:23 -08:00
..

Dart Tooling Daemon

The server implementation for the Dart Tooling Daemon. This is meant to be run by our internal tooling and facilitates communication between our internal tools.

For details on the protocol used to communicate with the Dart Tooling Daemon see The DTD Protocol

Running the Dart Tooling Daemon

Compiled version

To run the tooling daemon compiled with the Dart SDK:

  1. Build the Dart SDK
  • make sure to build with create_platform_sdk
  • e.g. ./tools/build.py create_platform_sdk
  1. run dart tooling-daemon

    :info The dart binary should be the one you just built in step 1.

Testing changes locally

To quickly test changes to the tooling daemon, start it by running:

dart run bin/dtd.dart

Running tests

To run the tests under the test/ directory, run dart test test/.

However, if you are testing changes that span pkg/dtd and pkg/dtd_impl, you'll need to build the Dart SDK, and then use the built Dart executable to run the test.

  1. Build the Dart SDK: ./tools/build.py create_platform_sdk
  2. Run the test: xcodebuild/ReleaseARM64/dart-sdk/bin/dart test test/