请问有谁能够看出下面代码的错误?运行后列表控件中什么都不显示BOOL WHO::OnInitDialog() 
{
CDialog::OnInitDialog();
m_who.InsertColumn(0,"昵称");
m_who.SetColumnWidth(0,200);
m_who.InsertColumn(1,"ip地址");
m_who.SetColumnWidth(1,200);
online=socket(AF_INET,SOCK_DGRAM,0);
//设置该套接字为广播类型,
BOOL bBroadcast=TRUE;
setsockopt(online,SOL_SOCKET,SO_BROADCAST,(const char*)&bBroadcast,sizeof(BOOL));
//设置发往的地址
online_addr.sin_family=AF_INET;
online_addr.sin_addr.s_addr=INADDR_BROADCAST;////设置ip为广播地址 online_addr.sin_port=5005;
bind(online,(sockaddr*)&online_addr,sizeof(online_addr)); clientsock=socket(AF_INET,   SOCK_DGRAM,0);  
bool opt=true;
setsockopt(clientsock,SOL_SOCKET, SO_BROADCAST,(char FAR *)&opt,sizeof(opt));
client.sin_family=AF_INET;   
client.sin_port=5005;
client.sin_addr.s_addr=htonl(INADDR_ANY);   
bind(clientsock,(sockaddr*)&client,sizeof(client)); char hostname[128];
gethostname(hostname,sizeof(hostname));
local.localhostname=hostname;
hostent *phostent;
phostent=gethostbyname(hostname);
local.localhostip=inet_ntoa (*(struct in_addr *)*phostent->h_addr_list); SetTimer(1,3000,NULL); return TRUE;  // return TRUE unless you set the focus to a control
              // EXCEPTION: OCX Property Pages should return FALSE
}void WHO::OnTimer(UINT nIDEvent) 
{
// TODO: Add your message handler code here and/or call default
localhostinfo sendbuf;
localhostinfo recbuf;
int len;
len=sizeof(struct sockaddr_in);
int m=sendto(online,(char *)&sendbuf,sizeof(localhostinfo),0,
          reinterpret_cast<sockaddr*>(&online_addr),sizeof(struct sockaddr_in));  
recvfrom(clientsock,(char *)&recbuf,sizeof(recbuf),0,(sockaddr*)&client,&len);

     m_who.InsertItem(0,recbuf.localhostip);
CDialog::OnTimer(nIDEvent);
}