본문 바로가기

네트워크4

WSAStartup 함수 (Window) Header #include Function Prototype int WSAStartup(WORD wVersionRequested, LPWSADATA lpWSAData); 윈도우에서는 리눅스와는 다르게 소켓 라이브러리를 사용하기 위해서는 어떤 버전의 소켓을 사용할지 소켓 라이브러리를 초기화한 다음에 소켓을 사용해야 한다. 첫 번째 인자는 프로그램에서 사용할 소켓이 버전 정보를 전달한다. 두 번째 인자는 WSADATA 구조체의 주소값을 전달하는데 이 곳에 소켓의 세부 정보가 저장된다. 2017. 3. 15.
sendto 함수 Window #include Linux #include #include Fuction Prototype ssize_t sendto(int sockfd, const void* buf, size_t len, int flags, const struct sockaddr* dest_addr, socklen_t addrlen); sendto 함수는 send함수와 동일하게 데이터를 전송하기 위해서 사용되는 함수인데, 다만 send는 SOCK_STREAM을 사용한다고 알아두어야 한다. 그렇다면 sendto함수는 비연결지향성에서 사용되는 함수로 데이터그램(SOCK_DGRAM)으로 생성된 소켓 연결에서 데이터를 전송하는데 사용된다. 첫 번째에서 세 번째 인자까지는 send함수와 동일하다. 네 번째 인자는 전송하려는 대상의.. 2017. 3. 12.
recv 함수 Window #include Linux #include #include Function Prototype ssize_t recv(int sockfd, void* buf, size_t len, int flags); recv 함수는 스트림 기반(SOCK_STREAM)으로 생성된 소켓에서 데이터를 수신받기 위한 함수이다. 첫 번째 인자는 연결이 맺어진 소켓 디스크립터. 두 번째 인자는 수신받은 데이터가 저장될 버퍼의 주소값. 세 번째 인자는 버퍼의 최대 길이를 나타냄. 네 번째 인자는 함수를 호출할 때 옵션 플래그로 일반적으로 0을 사용한다. ----------------------------- size_t ssize_t 란? http://nroses-taek.tistory.com/34 2017. 3. 12.
send함수 WIndow #include Linux #include Function Protorype ssize_t send(int sockfd, const void* buf, size_t len, int flags); 스트림 기반(SOCK_STREAM)으로 생성된 소켓에서 데이터를 전송하는 함수이다. 첫 번째 인자는 소켓 디스크립터. 두 번째 인자는 보내고자 하는 데이터의 시작 주소값. 세 번째 인자는 데이터의 시작 주소부터 얼마만큼 데이터를 전송할지 데이터의 길이를 나타냄. 네 번째 인자는 send() 함수를 호출할 때 사용되는 옵션 플래그로 일반적으로 0을 사용. ---------------- size_t ssize_t 란? http://nroses-taek.tistory.com/34 2017. 3. 11.