diff --git a/README.md b/README.md index 28f07f4..4191afe 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,25 @@ A flutter app that syncs clipboards between devices in the same LAN using Interprocess communication (Sockets). -## Getting Started +## What it does ? +group of devices on same network and with clipboard_sync running, keep their clipboards in sync +. whenever a device copies a text, it will be shared with other devices. + +## How it works ? +#### 🌍 Establishing connection +- each device opens a serverSocket. +- devices with no connections advertise its deviceId via UDP Broadcast. +- devices with lexicographically higher deviceId respond with its configuration. +- devices connect to the first received configuration via TCP Sockets. + +#### 🔌 Syncing clipboard +- polls the system clipboard to detect changes. +- clipboard changes are shared via the established TCP Sockets. +- incoming clipboard changes are also forwarded to other devices. +- each clipboard change message contains a timestamp, through which older messages are ignored + when received. + +## Getting Started in Flutter This project is a starting point for a Flutter application.