본문 바로가기
프로그래밍

1_소켓프로그래밍의 주요함수

by BlueOcean&Shark 2017. 12. 12.

소켓프로그래밍의 주요함수

윈도우

헤더
#include <winsock.h>

◇소켓라이브러리관련◇

@brief 라이브러리로드
@param 사용할 윈도우소켓버젼
@param 사용할 WSADATA구조체변수 주소
@return 성공 : 0 / 실패 0이아닌 에러코드
int WSAStartup(WORD wVersionRequested, LPWSADATA lpWSAData lpWsaData);

@brief 라이브러리해제
@return 성공 : 0 / 실패 SOCKET_ERROR
int WSACleanup(void);


◇서버소켓◇

@brief 소켓생성
@return 성공 : 소켓핸들 / 실패 INVALID_SOCKET
SOCKET socket(int af, int type, int protocol);

@brief 주소할당
@return 성공 : 소켓핸들 / 실패 INVALID_SOCKET
int bind(SOCKET s, const struct sockaddr * name , int namelen);

@brief 연결대기
@return 성공 : 0 / 실패 SOCKET_ERROR
int listen(SOCKET s, int backlog);

@brief 연결
@return 성공 : 소켓핸들 / 실패 INVALID_SOCKET
int accept(SOCKET s, struct sockaddr * addr, int addrlen);


◇클라이언트소켓◇

@brief 소켓생성
@return 성공 : 소켓핸들 / 실패 INVALID_SOCKET
SOCKET socket(int af, int type, int protocol);

@brief 연결요청
@return 성공 : 0 / 실패 SOCKET_ERROR
int connect(SOCKET s, const struct sockaddr * name , int namelen);

@brief 연결요청
@return 성공 : 0 / 실패 SOCKET_ERROR
int closesocket(SOCKET s);

 

◇데이터송수신◇

@brief 데이터송신
@return 성공 : 전송된 바이트 수 / 실패 : SOCKET_ERROR
int send(SOCEKT s, const char * buf, int len, int flags);

@brief 데이터수신
@return 성공 : 수신한 바이트 수 / 실패 : SOCKET_ERROR
int recv(SOCEKT s, const char * buf, int len, int flags);

 

리눅스

◇헤더◇
#include "sys/socket.h"

 


◇서버소켓◇

@brief 소켓생성
@return 성공 : 파일 디스크립터 / 실패 : -1
int socket (int __domain, int __type, int __protocol);

@brief 주소할당
@return 성공 : 0 / 실패 : -1
int bind (int __fd, __CONST_SOCKADDR_ARG __addr, socklen_t __len);

@brief 연결대기
@return 성공 : 0 / 실패 : -1
int listen (int __fd, int __n);

@brief 연결
@return 성공 : 파일 디스크립터 / 실패 : -1
int accept (int __fd, __SOCKADDR_ARG __addr, socklen_t *__restrict __addr_len);
 

 

◇ 클라이언트소켓 ◇

@brief 소켓생성
@return 성공 : 파일 디스크립터 / 실패 : -1
int socket (int __domain, int __type, int __protocol);

@brief 연결요청
@return 성공 : 0  / 실패 : -1
int connect (int __fd, __CONST_SOCKADDR_ARG __addr, socklen_t __len);

 

 

댓글