aboutsummaryrefslogtreecommitdiff
path: root/core/src/pads_server.rs
diff options
context:
space:
mode:
author1992414357@qq.com <1992414357@qq.com>2025-04-21 06:25:54 +0800
committer1992414357@qq.com <1992414357@qq.com>2025-04-21 06:25:54 +0800
commit50ea9869616846e5a0448ead8272c397080f36d8 (patch)
tree5f2ec829ecf48441a6d33f4160909dc02ddf83bf /core/src/pads_server.rs
parentd72d700c84794ca420035ceb9c294563f3f9c048 (diff)
.
Diffstat (limited to 'core/src/pads_server.rs')
-rw-r--r--core/src/pads_server.rs99
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