falcon-open 问题解决小扩展
发布时间:2020-12-16 18:40:48 所属栏目:大数据 来源:网络整理
导读:package mainimport ("fmt""net""strings""sync")type List struct {Lock sync.MutexIPList map[string]bool}var CheckList *List = NewList()func main() {for _,k := range []string{"127.0.0.1","192.168.10.1","172.18.80.1"} {CheckList.Add(k)}conn,_
package main import ( "fmt" "net" "strings" "sync" ) type List struct { Lock sync.Mutex IPList map[string]bool } var CheckList *List = NewList() func main() { for _,k := range []string{"127.0.0.1","192.168.10.1","172.18.80.1"} { CheckList.Add(k) } conn,_ := net.Dial("tcp","127.0.0.1:1789") if !CheckList.IsExist(conn) { fmt.Println("没有在白名单") conn.Close() return } } func NewList() *List { return &List{IPList: make(map[string]bool)} } func (self *List) Add(s string) { if self.IPList[s] { return } self.Lock.Lock() self.IPList[s] = true self.Lock.Unlock() } func (self *List) IsExist(conn net.Conn) bool { ip := strings.Split(conn.RemoteAddr().String(),":")[0] return self.IPList[ip] } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |