winsock : socket 함수

winsock socket는 endpoint socket을 생성한다. BSDSOCKET socket{ int af, int type, int protocol}; af 주소영역을 정의하기 위해서 사용한다. Winsock2.h 헤더파일에 정의되어 있다. 네트워크는 다양한 주소영역을 가진다. 우리가 알고 있는 IP( || AF_UNSPEC || 0 || 정의되...

winsock api : getsockname - 소켓 정보를 가져온다.

winsock api getsockname함수는 소켓(int getsockname( __in SOCKET s, __out struct sockaddr name, __inout int namelen); s 소켓 지시자 name 소켓 주소 정보를 포함한 sockaddr 구조체를 가리키는 포인터 namelen name 버퍼의 크기, 바이트 단위성공적으로 ...

winsock : gethostbyname - 도메인 이름으로 부터 IP 인터넷 주소 정보를 가져온다.

winsock gethostbyname함수는 getaddrinfo()함수로 대체되고 있다. 가능하면 gethostbyname함수 대신에 getaddrinfo함수를 사용하라.struct hostent gethostbyname{ __in const char name }; name 인터넷 주소 정보를 얻어오기 위한 도메인 이름에러가 발생하면 NULL 포인터를 ...

winsock api : connect - 서버로 연결한다.

winsock api connect 함수는 지정된 소켓으로 연결을 시도한다.int connect { __in SOCKET s, __in const struct sockaddr name, __in int namelen}; s 연결되지 않은 소켓 기술자 name 연결정보를 담고 있는 sockaddr( namelen sockaddr 구조체 포인터가 가리키는 데...

winsock : bind - 소켓에 주소를 할당한다.

winsock 소켓에 주소, 프로토콜, 포트를 할당한다. file descriptor 대신에 SOCKET객체를 사용한다는 것을 제외하고 BSDint bind( SOCKET s, const struct sockaddr name, int namelen); s name namelen 성공했을 경우 0을 리턴한다. 실패했을 경우 SOCKET_ERROR을 리턴...

winsock api : accept - 연결 대기열에서 클라이언트 연결 요청을 가져온다.

winsock api accept함수는 연결 대기열에의 가장 앞에 있는 (가장 먼저 들어온) 클라이언트 연결 요청을 가져와서 "연결 소켓"을 만든다.SOCKET accept( __in SOCKET s, __out struct sockaddr addr, __inout int addrlen); 1. s listen( 1. addr 클라이언트 연결을 가져오면,...

winapi : WaitForSingleObject

winapi 지정된 객체(Object)가 시그널상태가 될때까지 혹은 비시그널 상태로 제한시간 까지 기다린다. 시그널 상태나 타임아웃 상태면 반환한다. 대기 상태를 알려주기 위해서는 WaitForSingleObjectEx함수를 사용한다. 복수의 객체를 기다리기 위해서는 WaitForMultipleObject함수를 사용한다. hHandle 기다릴 객체의 핸...

winsock api : WSASocket

Transport-service provider 기반의 소켓을 만들기 위해서 사용하는 함수. 기본적인 사용 방법은 BSD:::소켓(:12) 생성함수인 socket(:2)함수와 비슷하다. 윈속의 확장 기능을 사용할 수 있다. 예를 들어 Overlapped I/O 와 win32 Event 매커니즘을 활용할 수 있다. ...

윈속 API : WSASend - 소켓으로 데이터를 전송한다.

윈속 API 연결 소켓(int WSASend( __in SOCKET s, __in LPWSABUF lpBuffers, __in DWORD dwBufferCount, __out LPDWORD lpNumberOfBytesSent, __in DWORD dwFlags, __in LPWSAOVERLAPPED lpOverlapped, __in LPWSAOVERLAP...

윈속 api : WSARecv - 소켓에서 데이터를 읽는다.

윈속 api 연결 소켓(int WSARecv( __in SOCKET s, __inout LPWSABUF lpBuffers, __in DWORD dwBufferCount, __out LPDWORD lpNumberOfBytesRecvd, __inout LPDWORD lpFlags, __in LPWSAOVERLAPPED lpOverlapped, __in LPW...