ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Windows
    Platform/소켓 2009. 2. 14. 17:52
    #include <wininet.h>

    InternetOpen()
    InternetConnect()
    InternetOpenUrl()
    INTERNET_FLAG_DONT_CACHE
    InternetCloseHandle()
    InternetQueryDataAvailable()
    InternetReadFile()
    요청한 크기보다 작을 수 있다.
    InternetWriteFile()
    InternetCrackUrl()

    InternetSetFilePointer()
    로컬 PC의 캐시에 적용되기 때문에 큰 파일에는 사용하면 안될 것 같음    // ???
    InternetSetStatusCallback()
    InternetSetOption()


    UDP 서버는 소켓이 하나만 있으면 된다.

    #define FD_SETSIZE 200
    #include <winsock2.h>

    #pragma comment(lib, "ws2_32")

    WSAStartup()
    WSACleanup()

    getaddrinfo()
    freeaddrinfo()
    getnameinfo()
    WSAStringToAddress()
    WSAAddressToString()
    /*
    inet_addr()
    inet_ntoa()
    gethostbyname()
    WSAAsyncGetHostByName()
    gethostbyaddr()
    WSAAsyncGetHostByAddr()
    WSACancelAsyncRequest()

    getservbyname()
    WSAAsyncGetServByName()
    getservbyport()
    WSAAsyncGetServByPort()

    getprotobyname()
    WSAAsyncGetProtoByName()
    getprotobynumber()
    WSAAsyncGetProtoByNumber()
    */
    socket()
    connect()
    closesocket()
    send()
    넌블로킹 소켓인 경우 보낸 데이터가 요청한 크기보다 작을 수 있다. // TCP??
    recv()
    수신한 데이터가 요청한 크기보다 작을 수 있다. // TCP??
    sendto()
    recvfrom()
    select()
    WSAAsyncSelect()
    소켓 이벤트를 윈도우 메시지로 비동기적으로 받을 수 있다.
    비동기 데이타 송수신이 제공되는 것은 아니다.

    FD_CLOSE
    FD_ACCEPT
    FD_READ
    FD_WRITE

    readn()
    writen()
    readline()
    Iterative 서버
    멀티스레드 서버

    멀티캐스트
    멀티캐스트 그룹에 속해 있는 모든 호스트들에게 데이터를 전송
    UDP를 기반으로 한다.

    브로드 캐스트
    동일한 네트워크에 연결되어 있는 호스트들에게 패킷을 전송
    기본적인 데이터 전송 방식은 UDP를 사용한다.


    참조 사이트:

Designed by Tistory.