[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[linux-users:71984] Re: 相手のIPアドレスの取得


門間@稚内北星学園です。

もしも本当にこのコードの通りだとすると、変数sock_clientのスコープはwhileのブ
ロックの中だけになりませんか?while文の外ではすでに破棄されているのでは。

william wrote:

> こんばんは。吉です。
>
> また質問です。簡単なTCP/IPの問題です(ちょっと恥ずかしい)。
>
> listen用のソケットを生成して、acceptをしたら、
> 戻ってくる相手のソケットの情報がおかしいです。
>
> // socket, bind, listen
> while(1) {
>   size_t len;
>   sockadd_in sock_client;
>   if((fd_accept = accept(fd_listen, (sockaddr*)&sock_client, &len))==-1){
>     perror("accept");
>     exit(1);
>   }
>   syslog(LOG_INFO, "accepted %s:%d",
>     inet_ntoa(sock_client.sin_addr),
>     (int)sock_client.sin_port);
>
>   // create a new thread ...
> }
>
> クライアントのIPアドレスが 133.139.153.45 なのに
> "accepted 132.251.255.191:16403"
> が表示されます。
>
> どこが間違いましたか。相手のIPアドレスはどう取れますか。
>
> -----
> william _at_ sdg.mdd.ricoh.co.jp

--
George Momma (momma _at_ wakhok.ac.jp)
Wakkanai Hokusei Gakuen College
Faculty of Integrated Media
Wakabadai 2290-28 Wakkanai, Hokkaido, 097-0013 JAPAN

この情報があなたの探していたものかどうか選択してください。
yes/まさにこれだ!   no/違うなぁ   part/一部見つかった   try/これで試してみる

あなたが探していた情報はどのようなことか、ご自由に記入下さい。特に「まさにこれだ!」と言う場合は記入をお願いします。
例:「複数のマシンからCATV経由でipmasqueradeを利用してWebを参照したい場合の設定について」
References: