|
|
@@ -2,6 +2,7 @@ mod server;
|
|
|
mod control_c;
|
|
|
mod core_libs;
|
|
|
|
|
|
+use std::str::FromStr;
|
|
|
use std::sync::Arc;
|
|
|
use std::sync::atomic::{AtomicBool, Ordering};
|
|
|
use std::time::Duration;
|
|
|
@@ -42,19 +43,33 @@ fn log_level_init(log_str: String, port: u32, account_name: String) -> WorkerGua
|
|
|
// 获取本地配置- json 文件解析
|
|
|
fn read_params_json() -> Params {
|
|
|
let mut path = "config.json";
|
|
|
+ let mut call_port = 5555;
|
|
|
|
|
|
let args: Vec<String> = std::env::args().collect();
|
|
|
|
|
|
for arg in &args {
|
|
|
- if !arg.contains("--config") {
|
|
|
- continue;
|
|
|
+ // Check for the --config argument and assign its value.
|
|
|
+ if arg.starts_with("--config=") {
|
|
|
+ let parts: Vec<&str> = arg.split('=').collect();
|
|
|
+ if parts.len() == 2 {
|
|
|
+ path = parts[1];
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // Check for the --port argument and assign its value.
|
|
|
+ if arg.starts_with("--port=") {
|
|
|
+ let parts: Vec<&str> = arg.split('=').collect();
|
|
|
+ if parts.len() == 2 {
|
|
|
+ match u32::from_str(parts[1]) {
|
|
|
+ Ok(num) => call_port = num,
|
|
|
+ Err(_) => eprintln!("Invalid number for port: {}", parts[1]),
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
- let p: Vec<&str> = arg.split("=").collect();
|
|
|
- path = p[1];
|
|
|
}
|
|
|
|
|
|
- println!("配置文件路径:{}", path);
|
|
|
- let params = Params::new_json(path).unwrap();
|
|
|
+ println!("通讯端口:{}, 配置文件路径:{}", call_port, path);
|
|
|
+ let params = Params::new_json(path, call_port).unwrap();
|
|
|
return params;
|
|
|
}
|
|
|
|