| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- package reportService
- import (
- "net"
- "time"
- )
- // UpToServer 上报数据到平台
- func UpToServer(host, port, date string) (res string, err error) {
- var (
- mConn *net.TCPConn
- tcpAddr *net.TCPAddr
- )
- info := ""
- res = ""
- if len(port) > 0 {
- info = host + ":" + port
- } else {
- info = host
- }
- writeTimeout := 5 * time.Second
- readTimeout := 5 * time.Second
- rxd := make([]byte, 1024)
- tcpAddr, err = net.ResolveTCPAddr("tcp", info)
- if err != nil {
- //fmt.Println("ResolveTCPAddr err")
- return
- }
- mConn, err = net.DialTCP("tcp", nil, tcpAddr)
- if err != nil {
- return
- }
- defer func(mConn *net.TCPConn) {
- _ = mConn.Close()
- }(mConn)
- //fmt.Println("myConn :")
- err = mConn.SetReadDeadline(time.Now().Add(readTimeout)) // timeout
- if err != nil {
- return
- }
- err = mConn.SetWriteDeadline(time.Now().Add(writeTimeout)) // timeout
- if err != nil {
- return
- }
- _, err = mConn.Write([]byte(date))
- if err != nil {
- return
- }
- _, err = mConn.Read(rxd)
- if err != nil {
- //tcp send ok but no replay
- err = nil
- return
- }
- res = string(rxd)
- return
- }
|