data_workshop/main.go
2020-06-03 11:31:35 +08:00

64 lines
1.4 KiB
Go

package main
import (
"context"
"encoding/gob"
"log"
"math/rand"
"net/http"
"os"
"time"
"github.com/grpc-ecosystem/grpc-gateway/runtime"
)
var cl *KeyList = &KeyList{}
func init() {
// 注册序列化结构
gob.RegisterName("workshop.KeyList", KeyList{})
gob.RegisterName("workshop.Country", Country{})
gob.RegisterName("workshop.LastName", LastName{})
gob.RegisterName("workshop.FirstName", FirstName{})
gob.RegisterName("workshop.NameCode", NameCode{})
f, err := os.OpenFile("./my.log", os.O_CREATE|os.O_RDWR, os.ModePerm)
CheckErrorPanic(err)
log.SetOutput(f)
rand.Seed(time.Now().UnixNano())
// 加载序列化结构
LoadGob("./data/building.gob", buildinglist)
LoadGob("./data/country.gob", countrylist)
LoadGob("./data/firstname.gob", fnl)
LoadGob("./data/lastname.gob", lnl)
LoadGob("./data/province.gob", province)
LoadGob("./data/ways.gob", ways)
}
func main() {
ctx := context.Background()
ctx, cancel := context.WithCancel(ctx)
defer cancel()
// gserver := grpc.NewServer()
mux := runtime.NewServeMux()
// 注册rpc http接口 根据protobuf协议生成
RegisterNameHandlerServer(ctx, mux, &nameserver{})
RegisterCountryHandlerServer(ctx, mux, &countryserver{})
RegisterProvinceAreaCityHandlerServer(ctx, mux, &provinceserver{})
RegisterWayHandlerServer(ctx, mux, &wayserver{})
RegisterBuildingHandlerServer(ctx, mux, &buildingserver{})
log.Println("Listen 4433")
log.Fatal(http.ListenAndServe(":4433", mux))
}