+ sockaddr* addr = new sockaddr[2];
+ socklen_t size = sizeof(sockaddr_in);
+#ifdef IPV6
+ bool v6 = false;
+ if ((!*this->host) || strchr(this->host, ':'))
+ v6 = true;
+
+ if (v6)
+ {
+ this->fd = socket(AF_INET6, SOCK_STREAM, 0);
+ if ((this->fd > -1) && ((strstr(this->IP,"::ffff:") != (char*)&this->IP) && (strstr(this->IP,"::FFFF:") != (char*)&this->IP)))
+ {
+ if (!this->BindAddr(this->cbindip))
+ {
+ delete[] addr;
+ return false;
+ }
+ }
+ }
+ else
+#endif
+ {
+ this->fd = socket(AF_INET, SOCK_STREAM, 0);
+ if (this->fd > -1)
+ {
+ if (!this->BindAddr(this->cbindip))
+ {
+ delete[] addr;
+ return false;
+ }
+ }
+ }
+
+ if (this->fd == -1)