diff --git a/g/net/gtcp/tcp_func.go b/g/net/gtcp/tcp_func.go index 766eff985..0ef6e93e7 100644 --- a/g/net/gtcp/tcp_func.go +++ b/g/net/gtcp/tcp_func.go @@ -10,7 +10,6 @@ import ( "io" "net" "time" - "fmt" "bytes" ) @@ -40,9 +39,8 @@ func Checksum(buffer []byte) uint32 { return checksum } -// 创建原生TCP链接 -func NewNetConn(ip string, port int, timeout...int) (net.Conn, error) { - addr := fmt.Sprintf("%s:%d", ip, port) +// 创建原生TCP链接, addr地址格式形如:127.0.0.1:80 +func NewNetConn(addr string, timeout...int) (net.Conn, error) { if len(timeout) > 0 { return net.DialTimeout("tcp", addr, time.Duration(timeout[0]) * time.Millisecond) } else { diff --git a/g/net/gtcp/tcp_pool.go b/g/net/gtcp/tcp_pool.go index f7570324c..46968e603 100644 --- a/g/net/gtcp/tcp_pool.go +++ b/g/net/gtcp/tcp_pool.go @@ -8,7 +8,6 @@ package gtcp import ( "net" - "fmt" "time" "gitee.com/johng/gf/g/container/gmap" "gitee.com/johng/gf/g/container/gpool" @@ -31,16 +30,15 @@ var ( ) // 创建TCP链接 -func NewConn(ip string, port int, timeout...int) (*Conn, error) { +func NewConn(addr string, timeout...int) (*Conn, error) { var pool *gpool.Pool - addr := fmt.Sprintf("%s:%d", ip, port) if v := pools.Get(addr); v == nil { pools.LockFunc(func(m map[string]interface{}) { if v, ok := m[addr]; ok { pool = v.(*gpool.Pool) } else { pool = gpool.New(gDEFAULT_POOL_EXPIRE, func() (interface{}, error) { - if conn, err := NewNetConn(ip, port, timeout...); err == nil { + if conn, err := NewNetConn(addr, timeout...); err == nil { return &Conn { Conn : conn, pool : pool, diff --git a/g/util/gconv/gconv.go b/g/util/gconv/gconv.go index 45bc1fb30..77315f419 100644 --- a/g/util/gconv/gconv.go +++ b/g/util/gconv/gconv.go @@ -53,7 +53,7 @@ func Time(i interface{}, format...string) time.Time { s := String(i) // 优先使用用户输入日期格式进行转换 if len(format) > 0 { - t, _ := gtime.StrToTime(s, format[0]) + t, _ := gtime.StrToTimeFormat(s, format[0]) return t } t := int64(0) diff --git a/g/util/gvalid/gvalid.go b/g/util/gvalid/gvalid.go index 311d4827c..a3dbfe2bd 100644 --- a/g/util/gvalid/gvalid.go +++ b/g/util/gvalid/gvalid.go @@ -509,7 +509,7 @@ func Check(val interface{}, rules string, msgs interface{}, params...map[string] // 日期格式,需要给定日期格式 case "date-format": - if _, err := gtime.StrToTime(value, ruleVal); err == nil { + if _, err := gtime.StrToTimeFormat(value, ruleVal); err == nil { match = true } diff --git a/geg/net/gtcp/tcp_conn.go b/geg/net/gtcp/tcp_conn.go new file mode 100644 index 000000000..b86431686 --- /dev/null +++ b/geg/net/gtcp/tcp_conn.go @@ -0,0 +1,10 @@ +package main + +import ( + "net" + "gitee.com/johng/gf/g/net/gtcp" +) + +func main() { + gtcp.NewNetConn("127.0.0.1", ) +} \ No newline at end of file diff --git a/geg/net/gtcp/tcp_server.go b/geg/net/gtcp/tcp_server.go index d9642fe3f..1c09d89ea 100644 --- a/geg/net/gtcp/tcp_server.go +++ b/geg/net/gtcp/tcp_server.go @@ -7,10 +7,10 @@ import ( func main() { gtcp.NewServer(":8999", func(conn net.Conn) { + defer conn.Close() for { - buffer := make([]byte, 1024) - if length, err := conn.Read(buffer); err == nil { - conn.Write(append([]byte("> "), buffer[0 : length]...)) + if data, err := gtcp.Receive(conn); err == nil { + gtcp.Send(conn, append([]byte("> "), data...)) } } }).Run()