SocketAddress.cpp
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:1k
源码类别:

模拟服务器

开发平台:

C/C++

  1. #include "stdafx.h"
  2. #include "SocketAddress.h"
  3. #include "Utils.h"
  4. /*
  5.  * namespace OnlineGameLib::Win32
  6.  */
  7. namespace OnlineGameLib {
  8. namespace Win32 {
  9. /*
  10.  * Static helper functions
  11.  */
  12. static _tstring DeblockSockAddr( const sockaddr *pSockAddr );
  13. static _tstring DeblockSockAddr( const sockaddr *pSockAddr )
  14. {
  15. USES_CONVERSION;
  16. if ( pSockAddr->sa_family != AF_INET )
  17. {
  18. return _T( "We only handle AF_INET address at present" );
  19. }
  20. const sockaddr_in *pSockAddrIn = reinterpret_cast< const sockaddr_in * >( pSockAddr );
  21. _tstring address( A2T( ::inet_ntoa( pSockAddrIn->sin_addr ) ) );
  22. return address + _T( " : " ) + ToString( ::htons( pSockAddrIn->sin_port ) );
  23. }
  24. /*
  25.  * CSocketAddress
  26.  */
  27. CSocketAddress::CSocketAddress( const sockaddr *pSockAddr )
  28. : m_address( DeblockSockAddr( pSockAddr ) )
  29. {   
  30. }
  31. _tstring CSocketAddress::GetAsString() const
  32. {
  33.    return m_address;
  34. }
  35. } // End of namespace OnlineGameLib
  36. } // End of namespace Win32