| 352 | } |
| 353 | |
| 354 | CSockAddr CBlockingSocket::GetHostByName(const char* pchName, USHORT ushPort /* = 0 */) |
| 355 | { |
| 356 | ASSERT( pchName != NULL ); |
| 357 | hostent* pHostEnt = gethostbyname(pchName); |
| 358 | |
| 359 | if( pHostEnt==NULL) |
| 360 | { |
| 361 | throw CBlockingSocketException(_T("GetHostByName")); |
| 362 | } |
| 363 | |
| 364 | ULONG* pulAddr = (ULONG*) pHostEnt->h_addr_list[0]; |
| 365 | SOCKADDR_IN sockTemp; |
| 366 | sockTemp.sin_family = AF_INET; |
| 367 | sockTemp.sin_port = htons(ushPort); |
| 368 | sockTemp.sin_addr.s_addr = *pulAddr; // address is already in network byte order |
| 369 | return sockTemp; |
| 370 | } |
| 371 | |
| 372 | const char* CBlockingSocket::GetHostByAddr(LPCSOCKADDR psa) |
| 373 | { |
no test coverage detected