[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends-ml 12831] Re: Java ネットワ ークプログラミングの真髄 第 1 回議 事録



  高橋(智)です。

  shutdownですが、私が昔からメンテナンスしているユーティリティのコードを見返してみました。
  WINSOCKやUnixで以下のようなコードを書いています。
  WINSOCKのマニュアルにこのような処理の必要性が明記されていたかはちょっと忘れました。

[Unix]
--------------------------------------------------------
    ...
    shutdown(*client_socket, SD_SEND);
    recv(*client_socket, &buf[0], sizeof(buf), 0);
    close(*client_socket);
    *client_socket = -1;
--------------------------------------------------------
[WINSOCK]
--------------------------------------------------------
    ...
    shutdown(client_socket, SD_SEND);
    setsockopt(client_socket, SOL_SOCKET, SO_RCVTIMEO,
               (char*)&timeout, sizeof(timeout));
    recv(client_socket, &buf[0], sizeof(buf), 0);
    closesocket(client_socket);
    client_socket = INVALID_SOCKET;
--------------------------------------------------------

-- 
高橋智宏

"TAKAHASHI,Toru" wrote:
snip 
> p.48 WINSOCKプラットフォーム
> Winsockのプログラミング関連ドキュメントには、シャットダウンしてからク
> ローズせよとの記述を見かけた気がする