#include<winsock2.h>
#pragma comment(lib, "ws2_32.lib")
SOCKET socket(int af, int type, int protocol);
- 소켓을 생성해주는 함수.
매개변수
af : 소켓이 사용할 프로토콜 체계(Protocol Familiy)정보 전달.
type : 소켓의 데이터 전송방식에 대한 정보 전달.
proTocol : 두 컴퓨터 간 통신에 사용되는 프로토콜 정보 전달.
반환값
- 성공 시 소켓 핸들, 실패 시 INVALID_SOCKET 반환
int bind(SOCKET s, const struct sockaddr *name, int namelen);
- IP주소와 PORT번호 할당을 목적으로 하는 함수.
매개변수
s : IP주소와 PORT번호를 할당받을 소켓을 전달.
name :
namelen : name의 크기를 전달.
반환값
- 성공 시 소켓 핸들, 실패 시 INVALID_SOCKET 반환
int listen(SOCKET s, int backlog);
- 클라이언트 프로그램의 연결 요청을 받아들일 수 있는 상태가 되게 해주는 함수
매개변수
s : 서버 소켓을 전달.
backlog : 연결을 기다리는 소켓들의 최대 크기를 전달.(보통은 SOMAXCONN를 넣어주네요.)
반환값
- 성공 시 0, 실패 시 SOCKET_ERROR반환
SOCKET accept(SOCKET s, struct sockaddr *addr, int *addrlen);
- 클라이언트 프로그램에서의 연결요청을 수락해주는 함수
매개변수
s : 서버소켓 전달.
addr : 서버의 자세한 설정을 전달.
addrlen : addr의 크기를 전달.
반환값
- 성공 시 소켓 핸들, 실패시 INVALID_SOCKET 반환
int connect(SOCKET s, const struct sockaddr* name, int namelen);
- 클라이언트가 서버에게 연결을 요청하는 함수.
매개변수
s : 연결할 소켓 전달.
name : 클라이언트의 자세한 설정을 전달.
namelen : name의 크기를 전달.
반환값
- 성공 시 0, 실패 시 SOCKET_ERROR 반환
int closesocket(SOCKET s);
- 소켓을 종료하는 함수.
매개변수
s : 종료하고 싶은 소켓 전달.
반환값
- 성공 시 0, 실패 시 SOCKET_ERROR 반환
'Notes > Tech History' 카테고리의 다른 글
| 리눅스 기본 명령어 (1) | 2010.08.17 |
|---|---|
| 소켓의 프로토콜 (socket함수를 파헤쳐보자) (0) | 2010.08.16 |
| WSADATA와 WSAStartup, 그리고 WSACleanup (0) | 2010.08.13 |
| GetMessage함수와 PeekMessage함수 그리고 데드타임 (0) | 2010.04.01 |
| C++ Mutex Class (0) | 2010.02.08 |