Пример #1
0
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()
}
Пример #2
0
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()
}
Пример #3
0
Файл: bed.go Проект: GisKook/bed
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()
}
Пример #4
0
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()
}
Пример #5
0
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()
}
Пример #6
0
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()
}