門間@稚内北星学園です。
もしも本当にこのコードの通りだとすると、変数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
References:
- Prev by Subject: [linux-users:71983] Re: 相手のIPアドレスの取得
- Next by Subject: [linux-users:71985] Re: [linux-users:71983] Re: 相手の IPアドレスの取得
- Previous by thread: [linux-users:71985] Re: [linux-users:71983] Re: 相手の IPアドレスの取得
- Next by thread: [linux-users:71986] Re: IP マスカレードが上手く構築できません。
- Indexes:[Main][Thread]