Wednesday, April 21, 2010

getpeername 用法

工作上遇到getpeername的問題.

每當我accept一個連線後,使用getpeername都沒有問題,但問題是接下來recv後,再去使用
getpeername所抓出來的ip都不一樣.

看了國外的論壇,似乎也有人也遇到相同的問題.其解決的方法如下

------------------------------------------------------------------------------------------------
struct sockaddr_in peer;
int peer_len;

peer_len = sizeof(peer); //<---要加入這一行才可以

getpeername(ClientFD,(struct sockaddr *)&peer,&peer_len);
------------------------------------------------------------------------------------------------

這樣問題就可以解決了~~