1.ソケットの作成を行う。↓2.サーバに接続する。↓3.サーバと送受信を行う。↓4.ソケットを破棄する。4段階から成り立ちます。Interface)を使用してもう少し詳しくあらわすと、WSAStartup関数でWinSockの初期化を行います。(プログラムの開始時のみ)socket関数でソケットの作成を行います。サーバのIPアドレスを取得します。inet_addr関数およびgethostbyname関数でサーバのIPアドレスの取得を行います。作成されたソケットを使用して、サーバのIPアドレスとポート番号を指定してconnect関数でサーバに接続(コネクト)します。ソケットに対して、send関数で接続しているサーバに送信、recv関数でサーバから受信を行います。shutdown関数で送受信を無効にして、closesocket関数でソケットを破棄します。WSACleanup関数でWinSockのリソースを解放する。(プログラムの終了時のみ)となります。■APIの使用方法WinSockのAPIを使用した例を示します。WinSockを使用する際は、wsock32.libをリンクwinsock.hをインクルードする必要があります。メインのAPIとなっています。{fprintf(stderr,"WinSockの初期化失敗\n");exit(-1);}WSAStartup関数の第一引数は、要求するWinSockのバージョンを入れます。(*)(void))(WSACleanup))は、終了時にWSACleanup関数を実行するようにしています。INVALID_SOCKET){fprintf(stderr,"ソケット作成失敗\n");}socket関数の第1引数には、インターネットを表すPF_INETを指定して、第2引数にはTCPを表すSOCK_STREAMを指定しています。第3引数は、プロトコルを指定します。*)((serverhostent->h_addr_list)[0]));}}svNameにドットで区切った10進数のIPアドレスが入っている場合は、inet_addr関数で32bitの整数値に変換されます。23E92D2svNameにサーバのホスト名が入っている場合は、gethostbyname関数でサーバのホスト情報を取得します。サーバのホスト情報の中からIPアドレスを取り出します。SOCKET_ERROR){fprintf(stderr,"サーバへの接続失敗\n");}サーバのアドレスの構造体にサーバのIPアドレスとポート番号を設定して、connect関数で接続を行っています。connect関数の第1引数は、socket関数で作成されたソケットです。第2引数は、サーバのアドレスの構造体へのポインタで、第3引数はその構造体のサイズです。short)port)とありますが、これはホストのバイト並び(16bit)をネットワークのバイト並び(16bit)に変換しているのです。32bitのホストのバイト並びをネットワークのバイト並びに変換するには、htonl関数を使います。逆にネットワークのバイト並びをホストのバイト並びに変換するには、ntohs関数とntohl関数があります。SOCKET_ERROR){fprintf(stderr,"サーバへの送信失敗\n");}send関数の第1引数は、socket関数で作成されたソケットです。第2引数は送信する文字列のバッファで、第3引数は文字列の長さです。*/}recv関数の第1引数は、socket関数で作成されたソケットです。第2引数は受信するバッファで、第3引数は受信バッファのサイズです。文字列を受信する場合は、受信した文字列の最後にヌル文字は付加されていないので、recv関数の戻り値である受信サイズを使ってヌル文字を付加します。*/closesocket(soc);shutdown関数の第1引数は、socket関数で作成されたソケットです。第2引数は、送信と受信の両方を無効にしています。closesocket関数の第1引数は、socket関数で作成されたソケットです。*/WSACleanup();WinSockのリソースを解放する関数ですが、プログラムの初めにatexit()を使って終了時に呼び出されるようにしておけばいいと思います。●エラーコードを取得する場合WinSockのAPIを使用してエラーになった場合、WSAGetLastError関数でエラーコードを取得することができます。Programming。