スレを勃てるまでもないC/C++の質問はここで 5at TECHスレを勃てるまでもないC/C++の質問はここで 5 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト550:536 09/01/04 01:13:40 つまりsockaddr_in 構造体の中にある入力したアドレスに接続するわけですよね。 しかしsockaaddr構造体にはアドレスがない。それなのに、sockaddr構造体とみなしてしまっては、 アドレスないから接続できなくないのでは?ということです。 551:デフォルトの名無しさん 09/01/04 01:14:33 っていうか、全部が全部 現状が正しい前提で理由を付けなくてもいいと思うけど。 頭いいひとにありがちだよね。 552:デフォルトの名無しさん 09/01/04 01:16:41 後の改造のために凝った事やって、 結局改造なんてしなかった、 ってこともよくある話で。 互換性のために、とかもよくある話。 553:デフォルトの名無しさん 09/01/04 01:18:58 >>546 int connect(int sockfd, const void *addr, socklen_t addrlen); なら、キャストする必要はないが、connect の第二引数が struct sockaddr である以上、 キャストする必要がある。 ここではキャストする型が重要なのではなく、socket作成時に指定したプロトコルファイミリーが重要。 プロトコルファミリーごとにconnectに必要な情報量は異なり、 kernelでもプロトコルファミリーごとに呼ばれるconnecが異なる。 kernelではaddrlen分ユーザー空間からメモリをコピーし、 所望の処理を行うので、struct sockaddr が重要なのではない。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch