func main() { runtime.GOMAXPROCS(runtime.NumCPU()) // creates a tcp listener tcpAddr, err := net.ResolveTCPAddr("tcp4", ":23") checkError(err) listener, err := net.ListenTCP("tcp", tcpAddr) checkError(err) // creates a server config := &gotcp.Config{ PacketSendChanLimit: 20, PacketReceiveChanLimit: 20, } srv := gotcp.NewServer(config, &telnet.TelnetCallback{}, &telnet.TelnetProtocol{}) // starts service go srv.Start(listener, time.Second) fmt.Println("listening:", listener.Addr()) // catchs system signal chSig := make(chan os.Signal) signal.Notify(chSig, syscall.SIGINT, syscall.SIGTERM) fmt.Println("Signal: ", <-chSig) // stops service srv.Stop() }
func main() { runtime.GOMAXPROCS(runtime.NumCPU()) // creates a mqtt client mqttclient := mattress.NewMqttClient() mqttclient.Connection() mattress.SetMqttClient(mqttclient) // creates a tcp listener tcpAddr, err := net.ResolveTCPAddr("tcp4", ":5858") checkError(err) listener, err := net.ListenTCP("tcp", tcpAddr) checkError(err) // creates a tcp server config := &gotcp.Config{ PacketSendChanLimit: 20, PacketReceiveChanLimit: 20, } srv := gotcp.NewServer(config, &mattress.Callback{}, &mattress.MattressProtocol{}) go srv.Start(listener, time.Second) chSig := make(chan os.Signal) signal.Notify(chSig, syscall.SIGINT, syscall.SIGTERM) fmt.Println("Signal: ", <-chSig) // stops service srv.Stop() }
func main() { runtime.GOMAXPROCS(runtime.NumCPU()) // read configuration configuration, err := bed.ReadConfig("./conf.json") bed.SetConfiguration(configuration) checkError(err) // creates a tcp listener tcpAddr, err := net.ResolveTCPAddr("tcp4", ":8992") checkError(err) listener, err := net.ListenTCP("tcp", tcpAddr) checkError(err) // creates a tcp server config := &gotcp.Config{ PacketSendChanLimit: 20, PacketReceiveChanLimit: 20, } srv := gotcp.NewServer(config, &bed.Callback{}, &bed.BedProtocol{}) // creates a nsqproducer server nsqpconfig := &bed.NsqProducerConfig{ Addr: configuration.NsqConfig.Addr, Topic: configuration.NsqConfig.UpTopic, } nsqpserver := bed.NewNsqProducer(nsqpconfig) // creates a nsqconsumer server nsqcconfig := &bed.NsqConsumerConfig{ Addr: configuration.NsqConfig.Addr, Topic: configuration.NsqConfig.DownTopic, Channel: configuration.NsqConfig.Downchannel, } nsqcserver := bed.NewNsqConsumer(nsqcconfig, nsqpserver) // create bed server bedserverconfig := &bed.ServerConfig{ Listener: listener, AcceptTimeout: time.Duration(configuration.ServerConfig.ConnTimeout) * time.Second, Uptopic: configuration.NsqConfig.UpTopic, } bedserver := bed.NewServer(srv, nsqpserver, nsqcserver, bedserverconfig) bed.SetServer(bedserver) bedserver.Start() // starts service fmt.Println("listening:", listener.Addr()) // catchs system signal chSig := make(chan os.Signal) signal.Notify(chSig, syscall.SIGINT, syscall.SIGTERM) fmt.Println("Signal: ", <-chSig) // stops service srv.Stop() }
func main() { runtime.GOMAXPROCS(runtime.NumCPU()) // read configuration configuration, err := watch_xixun.ReadConfig("./conf.json") watch_xixun.SetConfiguration(configuration) checkError(err) // creates a tcp listener tcpAddr, err := net.ResolveTCPAddr("tcp4", ":"+configuration.ServerConfig.BindPort) checkError(err) listener, err := net.ListenTCP("tcp", tcpAddr) checkError(err) // creates a tcp server config := &gotcp.Config{ PacketSendChanLimit: 20, PacketReceiveChanLimit: 20, } srv := gotcp.NewServer(config, &watch_xixun.Callback{}, &watch_xixun.ShaProtocol{}) // create db server dbsrv, _ := watch_xixun.NewDbServer(configuration.DBConfig) // create watch_xixun server watch_xixunserverconfig := &watch_xixun.ServerConfig{ Listener: listener, AcceptTimeout: time.Duration(configuration.ServerConfig.ConnTimeout) * time.Second, } watch_xixunserver := watch_xixun.NewServer(srv, watch_xixunserverconfig, dbsrv) watch_xixun.SetServer(watch_xixunserver) //create watch_data watchdata := watch_xixun.NewWatchData(dbsrv) go watchdata.Do() // starts service fmt.Println("listening:", listener.Addr()) watch_xixunserver.Start() // catchs system signal chSig := make(chan os.Signal) signal.Notify(chSig, syscall.SIGINT, syscall.SIGTERM) fmt.Println("Signal: ", <-chSig) // stops service watch_xixunserver.Stop() }
func main() { runtime.GOMAXPROCS(runtime.NumCPU()) // create a tcp listener tcpAddr, err := net.ResolveTCPAddr("tcp4", ":7082") checkError(err) listener, err := net.ListenTCP("tcp", tcpAddr) checkError(err) // create a server config := &gotcp.Config{ PacketSendChanLimit: 20, PacketReceiveChanLimit: 20, } mqconfig := &gotcp.MqConfig{ Addr: "127.0.0.1:4150", Topic: "commandproduce", Channel: "1", } nsqhub := gotcp.Newmqhub(mqconfig, &das.NsqProtocol{}) nsqhub.Start() go recvNsq(nsqhub, "command", "1") srv := gotcp.NewServer(config, &das.DasCallback{}, &das.DasProtocol{}, nsqhub) // starts service go srv.Start(listener, time.Second) fmt.Println("listening:", listener.Addr()) // catchs system signal chSig := make(chan os.Signal) signal.Notify(chSig, syscall.SIGINT, syscall.SIGTERM) fmt.Println("Signal: ", <-chSig) // stops server srv.Stop() }
func main() { runtime.GOMAXPROCS(runtime.NumCPU()) // read configuration configuration, err := sha.ReadConfig("./conf.json") sha.SetConfiguration(configuration) checkError(err) // creates a tcp listener tcpAddr, err := net.ResolveTCPAddr("tcp4", ":8989") checkError(err) listener, err := net.ListenTCP("tcp", tcpAddr) checkError(err) // creates a tcp server config := &gotcp.Config{ PacketSendChanLimit: 20, PacketReceiveChanLimit: 20, } srv := gotcp.NewServer(config, &sha.Callback{}, &sha.ShaProtocol{}) // creates a nsqproducer server nsqpconfig := &sha.NsqProducerConfig{ Addr: configuration.NsqConfig.Addr, Topic: configuration.NsqConfig.UpTopic, } nsqpserver := sha.NewNsqProducer(nsqpconfig) // creates a nsqconsumer server nsqcconfig := &sha.NsqConsumerConfig{ Addr: configuration.NsqConfig.Addr, Topic: configuration.NsqConfig.DownTopic, Channel: configuration.NsqConfig.Downchannel, } nsqcserver := sha.NewNsqConsumer(nsqcconfig, nsqpserver) // database passwd_monitor dbconfig := &sha.DBConfig{ Host: configuration.DbConfig.Host, Port: configuration.DbConfig.Port, User: configuration.DbConfig.User, Passwd: configuration.DbConfig.Passwd, Dbname: configuration.DbConfig.Dbname, } database, dberr := sha.NewExecDatabase(dbconfig) if dberr != nil { log.Println(dberr.Error()) } else { log.Println("conn to database success") } // create sha server shaserverconfig := &sha.ServerConfig{ Listener: listener, AcceptTimeout: time.Duration(configuration.ServerConfig.ConnTimeout) * time.Second, Uptopic: configuration.NsqConfig.UpTopic, } shaserver := sha.NewServer(srv, nsqpserver, nsqcserver, shaserverconfig, database) sha.SetServer(shaserver) shaserver.Start() userhub, err := sha.NewUserPasswdHub(dbconfig) sha.SetUserPasswdHub(userhub) err = userhub.LoadAll() if err != nil { fmt.Println("connect to db error " + err.Error()) return } fmt.Println("user info has been loaded") err = userhub.Listen(configuration.DbConfig.Monitortable) if err != nil { panic(err) } go userhub.WaitForNotification() // starts service fmt.Println("listening:", listener.Addr()) // catchs system signal chSig := make(chan os.Signal) signal.Notify(chSig, syscall.SIGINT, syscall.SIGTERM) fmt.Println("Signal: ", <-chSig) // stops service srv.Stop() }