当服务器端监听到客户端的连接请求以后
可以调用函数accept() 完成整个连接过程
并返回一个新的套接字
用户收发数据都是通过这个新套接字进行的
s1=::accept(s,NULL,NULL); //返回数据收发套接字
n=n+1; //当前客户端的连接数
str13.Format("有%d客户已经连接上了",n); //提示用户当前客户端个数
this->SetWindowText(str13);
GetDlgItem(IDC_EDIT1)->GetWindowText((LPTSTR)cs1,10000);
::getpeername(s1,(SOCKADDR*)&add,(int*)sizeof(add)); //获取连接客户端的ip
str13+=cs1;
str13+="\r\n"; //添加换行符号
str13+=::inet_ntoa(add.sin_addr); //转换为主机字节的ip
str13+="登录到聊天室";
GetDlgItem(IDC_EDIT1)->SetWindowText(str13);
通过代码
可以清楚地看到本地ip地址和服务器连接的客户端ip等信息