代码拉取完成,页面将自动刷新
package main
import (
"flag"
"fmt"
"time"
"strings"
"gitee.com/mixerj/pitaya"
"gitee.com/mixerj/pitaya/acceptor"
"gitee.com/mixerj/pitaya/acceptorwrapper"
"gitee.com/mixerj/pitaya/component"
"gitee.com/mixerj/pitaya/config"
"gitee.com/mixerj/pitaya/examples/demo/rate_limiting/services"
"gitee.com/mixerj/pitaya/serialize/json"
"github.com/spf13/viper"
)
func configureFrontend(port int) {
room := services.NewRoom()
pitaya.Register(room,
component.WithName("room"),
component.WithNameFunc(strings.ToLower))
// 5 requests in 1 minute. Doesn't make sense, just to test
// rate limiting
vConfig := viper.New()
vConfig.Set("pitaya.conn.ratelimiting.limit", 5)
vConfig.Set("pitaya.conn.ratelimiting.interval", time.Minute)
pConfig := config.NewConfig(vConfig)
tcp := acceptor.NewTCPAcceptor(fmt.Sprintf(":%d", port))
wrapped := acceptorwrapper.WithWrappers(
tcp,
acceptorwrapper.NewRateLimitingWrapper(pConfig))
pitaya.AddAcceptor(wrapped)
}
func main() {
defer pitaya.Shutdown()
port := flag.Int("port", 3250, "the port to listen")
svType := "room"
flag.Parse()
pitaya.SetSerializer(json.NewSerializer())
configureFrontend(*port)
pitaya.Configure(true, svType, pitaya.Cluster, map[string]string{})
pitaya.Start()
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。