https://github.com/kobeeeef/xsync
XSYNC is a time synchronization solution designed for rapid and continuous local updates, ensuring unparalleled time accuracy and consistency.
https://github.com/kobeeeef/xsync
networking synchronization
Last synced: about 2 hours ago
JSON representation
XSYNC is a time synchronization solution designed for rapid and continuous local updates, ensuring unparalleled time accuracy and consistency.
- Host: GitHub
- URL: https://github.com/kobeeeef/xsync
- Owner: Kobeeeef
- Created: 2025-01-26T20:24:43.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2025-01-28T21:02:51.000Z (5 months ago)
- Last Synced: 2025-04-02T14:21:38.488Z (2 months ago)
- Topics: networking, synchronization
- Language: C++
- Homepage: https://www.xbotrobotics.org
- Size: 76.2 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# XSYNC
XSYNC is a lightweight, high-speed time synchronization tool written entirely in C. It leverages the power of [ZeroMQ](https://zeromq.org/) for networking and achieves a time offset of <=1ms between client and server. Designed for applications that demand precise and fast time sync, XSYNC prioritizes performance and simplicity.
## Features
- **Ultra-low latency**: Ensures a time offset of <=1ms between client and server.
- **Efficient networking**: Built on ZeroMQ for high-performance communication.
- **Lightweight**: Minimal dependencies and resource usage.
- **Open-source**: Fully written in C for maximum portability and transparency.## Demo
https://github.com/user-attachments/assets/4b6089e9-8d42-4521-bc91-5b5ee709169f## Installation
### Prebuilt Executables
Prebuilt executables are available for Linux x86 and Linux ARM architectures in this repository's [Releases](https://github.com/Kobeeeef/XSYNC/releases/latest) section.
1. Download the appropriate archive for your architecture.
2. Unzip the archive:
```bash
unzip xsync-linux-x86.zip # Replace with the appropriate file
```
3. Make the files executable:
```bash
chmod +x XSyncServer XSyncClient
```
4. Run the executable with `sudo` for it to work:
```bash
sudo ./XSyncServer
sudo ./XSyncClient
```
## How It Works1. **Client-Server Architecture**: XSYNC operates on a simple client-server model where the server continuously broadcasts the current time.
2. **Spamming for Accuracy**: The client repeatedly requests time updates, ensuring high accuracy by minimizing drift.
3. **ZeroMQ Integration**: ZeroMQ enables fast and reliable message passing between the client and server.## Performance
- Tested to achieve an offset of <=1ms in typical LAN environments.
- Optimized for minimal CPU and memory usage.## License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.