package main
import (
"flag"
"fmt"
"glog-master"
"net/http"
//"os"
"os/exec"
)
func init() {
// 初始化 日志系统
flag.Set("alsologtostderr", "true") // 日志写入文件的同时,输出到stderr
flag.Set("log_dir", "./log") // 日志文件保存目录
flag.Set("v", "3") // 配置V输出的等级。
flag.Parse()
return
}
// 主函数
func main() {
//fmt.Print(os.Args[1:])
glog.Info("Entry main!!!")
http.HandleFunc("/DuliServer", DuLiServer) // 独立验证
err := http.ListenAndServe(":8365", nil)
if err != nil {
fmt.Println("Entry nil", err.Error())
return
}
return
}
//func main() {
// fmt.Println("启动游戏成功")
// glog.Info("Entry main!!!")
// fmt.Print(os.Args[1:])
// fmt.Printf(flag.Arg(1))
// glog.Info("....", flag.Arg(1))
// glog.Flush()
// // 正式的
// http.ListenAndServe(":8364", nil)
// return
//}
// 独立服务器
func DuLiServer(w http.ResponseWriter, req *http.Request) {
if req.Method == "GET" {
w.Header().Set("Access-Control-Allow-Origin", "*")
req.ParseForm()
// 获取函数
strLoginName, bLoginName := req.Form["LoginName"]
strLoginPW, bLoginPW := req.Form["LoginPW"]
strGameName, bGameName := req.Form["GameName"]
strXCName, bXCName := req.Form["XCName"]
if bLoginPW && bLoginName && bGameName && bXCName {
fmt.Println("strLoginName:", strLoginName)
fmt.Println("strLoginPW", strLoginPW)
fmt.Println("strGameName:", strGameName)
fmt.Println("strXCName", strXCName)
fmt.Fprint(w, "发送成功!!!")
// 发送给游戏
CallEXE("F:gocode\\code\\openCV\\bin\\Game.exe")
return
}
fmt.Fprint(w, "启动失败,参数不对!!!")
return
}
}
// 启动exe
func CallEXE(strGameName string) {
fmt.Println("开始启动游戏。。。")
arg := []string{"参数一", "参数二"}
fmt.Println("------------", arg)
// cmd := exec.Command("F:\\最新版本游戏\\test1\\test\\test.exe", arg...)
cmd := exec.Command("Game.exe", arg...)
_, err := cmd.CombinedOutput()
if err != nil {
fmt.Println("Error:", err)
return
}
return
}