Proud::CSocket 클래스 참조abstract

Public 멤버 함수

virtual bool Bind ()=0
 
virtual bool Bind (int port)=0
 
virtual bool Bind (const PNTCHAR *addr, int port)=0
 
virtual SocketErrorCode Connect (String hostAddr, int hostPort)=0
 
virtual SocketErrorCode IssueRecvFrom (int length)=0
 
virtual SocketErrorCode IssueSendTo (uint8_t *data, int count, AddrPort sendTo)=0
 
virtual SocketErrorCode IssueRecv (int length)=0
 
virtual SocketErrorCode IssueSend (uint8_t *data, int count)=0
 
virtual bool GetRecvOverlappedResult (bool waitUntilComplete, OverlappedResult &ret)=0
 
virtual bool GetSendOverlappedResult (bool waitUntilComplete, OverlappedResult &ret)=0
 
virtual AddrPort GetSockName ()=0
 
virtual AddrPort GetPeerName ()=0
 
virtual void SetBlockingMode (bool isBlockingMode)=0
 
virtual uint8_t * GetRecvBufferPtr ()=0
 

정적 Public 멤버 함수

static PROUD_API String GetIPAddress (String hostName)
 
static PROUD_API CSocketNew (SOCKET auxSocket, ISocketDelegate *dg)
 
static PROUD_API CSocketNew (SocketType type, ISocketDelegate *dg)
 

상세한 설명

CSocket class

  • Proud의 NetClient 를 쓰지 않고 외부의 Server나 http에 접근할때 쓰면 유용하다.
  • 내부적으로 Proud::FastSocket 을 사용한다.

멤버 함수 문서화

static PROUD_API String Proud::CSocket::GetIPAddress ( String  hostName)
static

recv host의 ip Address를 얻어온다.

virtual AddrPort Proud::CSocket::GetPeerName ( )
pure virtual

peer 에 대한 소켓의 주소를 가져온다.

virtual uint8_t* Proud::CSocket::GetRecvBufferPtr ( )
pure virtual

recv 버퍼의 포인터를 얻어온다.

virtual bool Proud::CSocket::GetRecvOverlappedResult ( bool  waitUntilComplete,
OverlappedResult ret 
)
pure virtual

async issue의 결과를 기다린다.

  • 아직 아무것도 완료되지 않았으면 null을 리턴한다.
  • 만약 완료 성공 또는 소켓 에러 등의 실패가 생기면 객체를 리턴하되 m_errorCode가 채워져 있다.
    매개변수
    waitUntilComplete완료될때까지 기다릴 것인지 결정한다.
    ret결과 OverlappedResult 참조
    반환값
    성공이면 true, 실패이면 false리턴
virtual bool Proud::CSocket::GetSendOverlappedResult ( bool  waitUntilComplete,
OverlappedResult ret 
)
pure virtual

async issue의 결과를 기다린다.

  • 아직 아무것도 완료되지 않았으면 null을 리턴한다.
  • 만약 완료 성공 또는 소켓 에러 등의 실패가 생기면 객체를 리턴하되 m_errorCode가 채워져 있다.
    매개변수
    waitUntilComplete완료될때까지 기다릴 것인지 결정한다.
    ret결과 OverlappedResult 참조
    반환값
    성공이면 true, 실패이면 false리턴
virtual AddrPort Proud::CSocket::GetSockName ( )
pure virtual

소켓의 주소를 가져온다.

virtual SocketErrorCode Proud::CSocket::IssueRecv ( int  length)
pure virtual

TCP socket

  • Recv를 Issue한다.
    매개변수
    length버퍼의 크기
    반환값
    소켓 Error를 리턴해줍니다. SocketErrorCode_Ok 이면 정상
virtual SocketErrorCode Proud::CSocket::IssueRecvFrom ( int  length)
pure virtual

UDP socket

  • Recv를 Issue한다.
    매개변수
    length버퍼의 크기
    반환값
    소켓 Error를 리턴해줍니다. SocketErrorCode_Ok 이면 정상
virtual SocketErrorCode Proud::CSocket::IssueSend ( uint8_t *  data,
int  count 
)
pure virtual

TCP socket

  • Send 를 Issue 한다.
    매개변수
    data보낼 data 의 배열
    count배열의 크기
    반환값
    소켓 Error 를 리턴해줍니다. SocketErrorCode_Ok이면 정상
virtual SocketErrorCode Proud::CSocket::IssueSendTo ( uint8_t *  data,
int  count,
AddrPort  sendTo 
)
pure virtual

UDP socket

  • Send를 Issue한다.
    매개변수
    data보낼 data의 배열
    count배열의 크기
    sendTo보낼 주소
    반환값
    소켓 Error를 리턴해줍니다. SocketErrorCode_Ok 이면 정상
static PROUD_API CSocket* Proud::CSocket::New ( SOCKET  auxSocket,
ISocketDelegate dg 
)
static

CSocket 객체를 생성한다.

매개변수
auxSocketsocket객체
dg소켓의 이벤트를 받을 객체. ISocketDelegate 를 참조
static PROUD_API CSocket* Proud::CSocket::New ( SocketType  type,
ISocketDelegate dg 
)
static

CSocket 객체를 생성한다.

매개변수
type소켓의 Type을 정한다.
dg소켓의 이벤트를 받을 객체. ISocketDelegate 를 참조
virtual void Proud::CSocket::SetBlockingMode ( bool  isBlockingMode)
pure virtual

통신에 대하여 블럭킹 모드를 사용할 것인지 선택한다.