$sock().ip returns incorrect values before socket opens
There is an issue with ".ip" property in $sock() that when you try open a socket and then immediately echo the $sock().ip it returns invaild parameter, it should return the ip/address that you specified to open the socket.
But and this situation if you specify an ip address to open $sock().ip should return that ip instead of that ip that returns now, so this one is bug.
//sockopen test adiirc.com 80 | echo -a IS: $sock(test).ip | sockclose test ; this should return "adiirc.com" instead of 192.168.1.4 that returns now, because the DNS didn't finish to get the domain ip to return the correct one. //sockopen test 184.108.40.206 80 | echo -a IS: $sock(test).ip | sockclose test ; this should return 220.127.116.11 instead of 192.168.1.4 that returns now, because the DNS doesn't play a role here as you have already specified an IP on opening parameter.