gogf/greuse

在 macOS X 上不工作

sbilly opened this issue · 1 comments

客户端用 greuse.Dial() 在 macOS X 上不工作,提示

connect: address already in use

netstat -an 查看时发现有 TIME_AWAIT 的连接,等这个状态消失时则可以继续创建连接。

package main

import (
	"log"

	"github.com/gogf/greuse"
)

func main() {
	l1, _ := greuse.Listen("tcp", "127.0.0.1:54321")

	log.Println((l1))

	c1, e1 := greuse.Dial("tcp", "0.0.0.0:12345", "127.0.0.1:54321")
	c2, e2 := greuse.Dial("tcp", "0.0.0.0:12345", "127.0.0.1:54321")
	c3, e3 := greuse.Dial("tcp", "0.0.0.0:12345", "127.0.0.1:54321")

	log.Println(c1, e1)
	log.Println(c2, e2)
	log.Println(c3, e3)
}

returns

2020/11/23 00:32:00 &{0xc00011e000 {0x10f17a0 0}}
2020/11/23 00:32:00 &{{0xc00011e100}} <nil>
2020/11/23 00:32:00 <nil> dial tcp 0.0.0.0:12345->127.0.0.1:54321: connect: address already in use
2020/11/23 00:32:00 <nil> dial tcp 0.0.0.0:12345->127.0.0.1:54321: connect: address already in use