diff options
| author | 1992414357@qq.com <1992414357@qq.com> | 2025-04-21 06:25:54 +0800 |
|---|---|---|
| committer | 1992414357@qq.com <1992414357@qq.com> | 2025-04-21 06:25:54 +0800 |
| commit | 50ea9869616846e5a0448ead8272c397080f36d8 (patch) | |
| tree | 5f2ec829ecf48441a6d33f4160909dc02ddf83bf /core/src/pads_server.rs | |
| parent | d72d700c84794ca420035ceb9c294563f3f9c048 (diff) | |
.
Diffstat (limited to 'core/src/pads_server.rs')
| -rw-r--r-- | core/src/pads_server.rs | 99 |
1 files changed, 0 insertions, 99 deletions
diff --git a/core/src/pads_server.rs b/core/src/pads_server.rs deleted file mode 100644 index d10a88b..0000000 --- a/core/src/pads_server.rs +++ /dev/null @@ -1,99 +0,0 @@ -use std::net::{SocketAddr, UdpSocket}; -use std::time::Duration; -use bincode::Encode; -use crate::pads_player::{PlayerInfo, PlayerMessage}; - -/// # 监听服务器 -/// 监听服务器用于连接玩家设备,并接收玩家的按键输入 -pub struct PadServer { - server_name: String, - port: u16 -} - -impl Default for PadServer { - - /// # 使用默认布局部署服务器 - /// 创建一个使用默认布局的服务器 - fn default() -> Self { - PadServer { - server_name: String::from("This Is No Pads"), - port: 8916 - // TODO :: 补充布局文件 - } - } -} - -impl PadServer { - - /// # 开始监听服务器 - /// self : 服务器 - /// event : 事件 - pub fn start_listening(&self, event : impl PadServerEvent) { - let socket_addr = SocketAddr::from(([127, 0, 0, 1], self.port)); - match UdpSocket::bind(socket_addr) { - Ok(socket) => { - let mut buf = vec![0u8; 1024]; - - loop { - // 接收连接请求 - match socket.recv_from(&mut buf) { - Ok((size, src)) => { - - } - Err(_) => {} - } - } - } - - Err(_) => {} - } - } - - /// # 停止监听服务器 - /// self : 服务器 - pub fn stop_listening(&self) { - - } -} - -/// # 监听服务器事件 -/// 服务器运行过程中的信息将会发送到该 Event Trait -pub trait PadServerEvent { - - /// 服务器启动时 - fn server_start(); - - /// 服务器关闭时 - fn server_shutdown(); - - /// 玩家加入请求 - /// info : 玩家信息 - /// return -> 是否允许加入服务器 - fn join_request_received(info: PlayerInfo) -> bool; - - /// 玩家加入游戏 - /// info : 玩家信息 - fn player_joined(info: PlayerInfo); - - /// 玩家离开游戏 - /// info : 玩家信息 - fn player_left(info: PlayerInfo); - - /// 玩家断开连接 - /// info : 玩家信息 - fn player_disconnected(info: PlayerInfo); - - /// 接收到消息 - /// info : 玩家信息 - /// msg : 接受的消息 - fn msg_received(info: PlayerInfo, msg: PlayerMessage); -} - -/// # 监听服务器消息 -/// 监听服务器用于向玩家发送指令 -pub enum ServerMessage { - Command(String), - Animation(String), - Shock(Duration, f64), - Kick -}
\ No newline at end of file |
