package config const ( // 系统错误号定义,最低号为110,最高127 MIN_SYSTEM_ERROR_CODE = 110 // 系统信息最小值 NEXT_SUBSCRIBE = 111 NEXT_SUBSCRIBE_MSG = "NEXT SUBSCRIBE" NEXT_MIDDLE = 112 NEXT_MIDDLE_MSG = "NEXT MIDDLE" FORBIDDEN = 120 FORBIDDEN_MSG = "FORBIDDEN" SYSTEM_ERROR = 123 SYSTEM_ERROR_MSG = "SYSTEM ERROR" GET_TIMEOUT = 124 GET_TIMEOUT_MSG = "GET TIMEOUT" CONNECT_NO_MATCH = 125 CONNECT_NO_MATCH_MSG = "CONNECT NO MATCH" CONNECT_END = 126 CONNECT_END_MSG = "CONNECT END" NO_MATCH = 127 NO_MATCH_MSG = "NO MATCH" MAX_SYSTEM_ERROR_CODE = 127 //系统信息最大值 ) // 定义成功与失败的值 const STATE_OK = 1 const STATE_FAILED = 0 const ( // ID 号最高值,高于这个值的ID号为系统内部使用 ID_MAX = 65500 // 验证ID ID_AUTH = 65502 ) // 全局配置 type Config struct { ConnectTimeout int // 没有收到数据包的连接超时时间(ms) PingInterval int // 发送ping包的时间间隔,前提是没有收到数据包(ms) WriteWait int // 写入网络数据等待最长时间(ms) ReadWait int // 获取命令数据超时时间 (ms) LongReadWait int // 长时间等待读取数据的超时时间(ms) CleanDeadConnectWait int // 清理异常的连接(ms) PrintPing bool // 打印连接ping包 PrintMsg bool // 打印数据包 ProxyTimeout int // 代理方式下,连接超过这个时间将进行一次直连尝试,如为0表示不启用 } // 获取实例好的配置 func NewConfig() *Config { // 配置基础的数据 return &Config{ ConnectTimeout: 30 * 1000, PingInterval: 61 * 1000, WriteWait: 60 * 1000, ReadWait: 30 * 1000, LongReadWait: 150 * 1000, CleanDeadConnectWait: 3600 * 1000, PrintPing: true, PrintMsg: true, ProxyTimeout: 3600 * 1000, } }