中嶋と申します。
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
>
>
>
>
Follow-Ups: References:
- Prev by Subject: [linux-users:71982] 相手のIPアドレスの取得
- Next by Subject: [linux-users:71984] Re: 相手のIPアドレスの取得
- Previous by thread: [linux-users:71982] 相手のIPアドレスの取得
- Next by thread: [linux-users:71985] Re: [linux-users:71983] Re: 相手の IPアドレスの取得
- Indexes:[Main][Thread]