2025-04-26 03:34:07 +03:00
|
|
|
use fastwebsockets::{FragmentCollector, OpCode, Role, WebSocket};
|
2025-04-11 04:58:16 +03:00
|
|
|
use tokio::net::TcpListener;
|
2025-04-16 06:27:08 +03:00
|
|
|
|
2025-04-26 03:34:07 +03:00
|
|
|
const SERVER_ADDRESS: &str = "192.168.1.3:4546";
|
2025-04-11 04:58:16 +03:00
|
|
|
|
|
|
|
pub async fn start_signalling() {
|
2025-04-26 03:34:07 +03:00
|
|
|
let tcp_listener = TcpListener::bind(SERVER_ADDRESS).await.unwrap();
|
|
|
|
while let Ok((tcp_stream, client_address)) = tcp_listener.accept().await {
|
|
|
|
let mut websocket = WebSocket::after_handshake(tcp_stream, Role::Server);
|
|
|
|
websocket.set_writev(false);
|
|
|
|
websocket.set_auto_close(true);
|
|
|
|
websocket.set_auto_pong(true);
|
|
|
|
let mut websocket = FragmentCollector::new(websocket);
|
|
|
|
|
|
|
|
while let Ok(received_frame) = websocket.read_frame().await {
|
|
|
|
if let OpCode::Text = received_frame.opcode {
|
|
|
|
let received_payload = received_frame.payload;
|
|
|
|
println!(
|
|
|
|
"Client: {:#?} | Sent:\n{:#?}",
|
|
|
|
client_address, received_payload
|
|
|
|
);
|
|
|
|
}
|
2025-04-16 06:27:08 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|