ToDesktop Communication Server
This is the repo for the ToDesktop Communication Server client.
This is a package for interacting with @todesktop/plugin-comm-server. This package exposes a set of functions for communicating between windows.
Installation
Install @todesktop/client-comm-server
in your client-side application using
$ npm install @todesktop/client-comm-server
Installation of the plugin package is also necessary.
Usage
checkIfCommServerRunning
Checks to see if the communication server is currently running. This should be executed from the context of the web app attempting communication with a local desktop app.
import { checkIfCommServerRunning } from "@todesktop/client-comm-server";
const ports = [20001, 39214];
checkIfCommServerRunning(ports).then(async (isRunning) => {
console.log(isRunning);
});
broadcast
Broadcasts a message to the running desktop app.
import { broadcast } from "@todesktop/client-comm-server";
const ports = [20001, 39214];
const res = await broadcast(ports, { foo: "bar" });
console.log(res);
handleBroadcast
Listens to messages that have been forwarded from the communication server.
import { handleBroadcast } from "@todesktop/client-comm-server";
const unsubscribe = handleBroadcast((data) => {
console.log(data);
return "acknowledged";
});
unsubscribe();
Architecture
This package requires the following files:
src/index.ts
: exposes plugin functionality through strongly-typed, easy-to-use functions.src/generated/plugin.d.ts
: automatically generated types from @todesktop/plugin-comm-server
's index.ts
file.
Development
Refer to the root repo for development instructions.