|
此文章由 DDD888 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 DDD888 所有!转贴必须注明作者、出处和本声明,并保持内容完整
这是源程序代码
extern crate dotenv;
extern crate envy;
extern crate serde_derive;
use serde: eserialize;
extern crate actix_web;
use actix_web::{get, App, HttpServer, Responder, HttpRequest};
#[derive(Deserialize, Debug)]
struct RemoteControlConfig {
server: String,
}
#[get("/ip")]
pub async fn ip(req: HttpRequest) -> impl Responder {
if let Some(socket_addr) = req.peer_addr() {
socket_addr.ip().to_string()
} else {
String::new()
}
}
#[actix_web::main]
async fn main() -> std::io::Result<()> {
dotenv::dotenv().expect("Failed to read .env file");
let config = envy::from_env::<RemoteControlConfig>().expect("Failed to read Config file");
println!("{:?}", config.server);
HttpServer::new(||
App::new()
.service(ip)
)
.bind(config.server)?
.run()
.await
} |
|