Open Layty opened 2 years ago
可以考虑增加timeout,不过似乎这个设置没有生效
4G流量日消耗50M问题:使用rpcapd+wireshark的io统计分析,发现是npc/nps通道流量占比高,npc/nps之间,每5钞有一批类似保活报文的交互,此报文频繁,所以流量高; 修改C:\Users\Administrator\go\pkg\mod\ehang.io\nps-mux@v0.0.0-20200617154922-5dc86cc6082a下的mux.go,在270行左右注释掉 case muxPingFlag: //ping // logs.Error("275") // s.sendInfo(muxPingReturn, muxPing, pack.content) // windowBuff.Put(pack.content) continue 修改E:\nps\nps_source\nps\bridge下的bridge.go的typeDeal函数中添加tcp keepalive的处理: case common.WORK_MAIN: if isPub { c.Close() return } if tcp_keepalive_intval == 0 { tcp_keepalive_intval=beego.AppConfig.DefaultInt("tcp_keepalive_interval", 15) } logs.Info("tcp_keepalive_interval:%d",tcp_keepaliveintval) tcpConn, ok := c.Conn.(*net.TCPConn) if ok { // add tcp keep alive option for signal connection = tcpConn.SetKeepAlive(true) _ = tcpConn.SetKeepAlivePeriod(time.Duration(tcp_keepalive_intval) * time.Second) } 在文件上部需添加变量声明:var tcp_keepalive_intval int = 0
我自己改了代码,重新编译后用在了产品里,我也是4G场景,要省流量,之前的npc太费流量了
客户端用的是4G,怎么配置节省流量