Closed joestarzxh closed 1 year ago
没必要吧,一般是用userId,也可以从net.Conn拿到fd当唯一id,或者onopen里面原子操作生成自增id
嗯,好的,其实需要fd,windows下面不知道怎么样获取,刚刚看了一下gnet代码,谢谢
注意判断TLS
func socketFD(conn net.Conn) int {
tcpConn := reflect.Indirect(reflect.ValueOf(conn)).FieldByName("conn")
fdVal := tcpConn.FieldByName("fd")
pfdVal := reflect.Indirect(fdVal).FieldByName("pfd")
return int(pfdVal.FieldByName("Sysfd").Int())
}
好的
这样方便与业务整合