struct sockaddr_storage m_serveraddr;\r
\r
std::ostringstream portstring;\r
- addrinfo hint,*result;\r
+ addrinfo hint,*result,*current;\r
result=NULL;\r
portstring << port;\r
\r
\r
if(result)\r
{\r
- memset(&m_serveraddr,0,sizeof(struct sockaddr_storage));\r
+ for(current=result; current!=NULL && m_serversocket==-1; current=current->ai_next)\r
+ {\r
+ memset(&m_serveraddr,0,sizeof(struct sockaddr_storage));\r
\r
- m_serversocket=socket(result->ai_family,result->ai_socktype,result->ai_protocol);\r
+ m_serversocket=socket(current->ai_family,current->ai_socktype,current->ai_protocol);\r
\r
- if(m_serversocket!=-1)\r
- {\r
- rval=connect(m_serversocket,result->ai_addr,result->ai_addrlen);\r
- if(rval==-1)\r
+ if(m_serversocket!=-1)\r
{\r
- Disconnect();\r
+ rval=connect(m_serversocket,current->ai_addr,current->ai_addrlen);\r
+ if(rval==-1)\r
+ {\r
+ Disconnect();\r
+ }\r
}\r
}\r
\r