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

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


中嶋と申します。

On Fri, 28 Jul 2000 21:07:43 +0900
"william" <william _at_ sdg.mdd.ricoh.co.jp> 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){
acceptの第3引数は値結果引数(man 2 acceptによると value-result parameter)
なので、
len = sizeof( sockaddr_in sock_client);
accept( .. , ... , &len )
としてみるとよいかもしれません。

>     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
> 
> 
> 
> 

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

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