https://github.com/ivan770/audiosocket
Rust implementation of AudioSocket protocol
https://github.com/ivan770/audiosocket
Last synced: about 1 year ago
JSON representation
Rust implementation of AudioSocket protocol
- Host: GitHub
- URL: https://github.com/ivan770/audiosocket
- Owner: ivan770
- License: mit
- Created: 2021-01-04T14:47:41.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2021-02-07T19:57:04.000Z (over 5 years ago)
- Last Synced: 2025-06-11T10:07:42.293Z (about 1 year ago)
- Language: Rust
- Size: 15.6 KB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# AudioSocket
**AudioSocket is a simple TCP-based protocol for sending and receiving real-time audio streams.**
## Usage
```rust
use std::{convert::TryFrom, str::FromStr};
use audiosocket::{Message, RawMessage, Type};
use uuid::Uuid;
// You may replace this with bytes from TCP socket, test file, etc.
let recv = [
// Message contains a stream identifier.
1u8,
// Payload length is 16 bytes.
0,
16,
// Payload with UUID.
4,
54,
67,
12,
43,
2,
98,
76,
32,
50,
87,
5,
1,
33,
43,
87
];
let raw_message = RawMessage::try_from(&recv[..]).unwrap();
assert_eq!(*raw_message.message_type(), Type::Identifier);
let message = Message::try_from(raw_message).unwrap();
assert_eq!(message, Message::Identifier(Uuid::from_str("0436430c-2b02-624c-2032-570501212b57").unwrap()))
```