package TcpServer import ( "container/list" "fmt" "time" ) var SessionS list.List func TcpServer() { //SessionS = list.New() fmt.Println("TcpServer") server := NewServer(":1452") server.OnNewClient(OnNewClient) server.OnClientConnectionClosed(OnClientConnectionClosed) server.OnNewMessage(OnNewMessage) go server.Listen() go Polling() } func Polling() { for true{ for i := SessionS.Front(); i != nil; i = i.Next() { t := i.Value.(*Session) if t.Device.T_sn == "" { t.Verify_num += 1 if t.Verify_num > 10 { t.Close() SessionS.Remove(i) fmt.Println("Polling 删除") } } } time.Sleep(time.Second * 1) } } func OnNewClient(c *Session) { fmt.Println("OnNewClient") SessionS.PushBack(c) c.Send("ok!") } func OnClientConnectionClosed(c *Session, closeCase int) { fmt.Println("OnClientConnectionClosed:",closeCase) } func OnNewMessage(c *Session, packetData []byte) { fmt.Println("OnNewMessage:",packetData) }