package forex import ( "fmt" "net/http" "wss-pool/config" "wss-pool/internal/data" "wss-pool/logging/applogger" ) // SubscribeForex // // @Description: 外汇行情采集分发 // @param ipServer // @param addrServer func SubscribeForex(ipServer, addrServer string) { data.Mgo_init(config.Config.Mongodb) codeList := GetMongodbForexCode() applogger.Debug("foreList data:%v", codeList) hub := newHub() go hub.ForexMarketBBOSwitcher(codeList) // 订阅盘口(买一卖一)报价 go hub.ForexMarketTradeSwitcher(codeList) // 订阅成交报价 go hub.ForexMarketBatchPrice(codeList) // 订阅实时报价 go hub.ForexMarketBatchDayPrice(codeList) // 订阅每天报价-数据(实时-最高-最低-开盘价) go hub.run() http.HandleFunc("/forexWs", func(w http.ResponseWriter, r *http.Request) { handleConnection(hub, w, r) }) addr := fmt.Sprintf("%v%v", ipServer, addrServer) applogger.Info("wss-pool server start at %v", addr) if err := http.ListenAndServe(addr, nil); err != nil { applogger.Error("ListenAndServe:%v", err) } }