tcp server 用于给andriod 客户端定时发送消息
liuxiaolong
2019-06-01 d1bc8d8bd989531c7b8d37603cfe188b600bb385
server.go
@@ -1,6 +1,7 @@
package main
import (
   "errors"
   "flag"
   "fmt"
   "net"
@@ -56,9 +57,14 @@
   ech := make(chan error)
   go func(conn net.Conn, ech chan error) {
      buf := make([]byte, 10)
      _, err := conn.Read(buf)
      if err != nil {
         ech <- err
      for {
         _, err := conn.Read(buf)
         log.Log.Errorln("Read completed!")
         if err != nil {
            ech <- err
            log.Log.Errorln("Read Error!conn.Close")
            break
         }
      }
   }(conn, ech)
   tick := time.NewTicker(10 * time.Second)
@@ -87,17 +93,15 @@
   log.Log.Infoln("jsonstring len: ", len(jsonstring), "\000 data: ", len("\000"))
   _, err := conn.Write(jsonstring)
   if err !=nil{
      fmt.Println("conn: ",conn)
      log.Log.Errorln(err)
      conn.Close()
      index :=0
      for ;index < len(connArr); {
         if connArr[index] == conn{
            connArr = append(connArr[:index],connArr[index+1:]...)
            continue
         }
         index++
      }
      fmt.Println("connArr: ",connArr)
      //index :=0
      //for ;index < len(connArr); {
      //   if connArr[index] == conn{
      //      connArr = append(connArr[:index],connArr[index+1:]...)
      //      continue
      //   }
      //   index++
      //}
   }
}