//µã»÷¿ªÊ¼Á¬½Ó
void CServerDlg::OnStartConnect() 
{
// TODO: Add your control notification handler code here
MyInitSock(); AcceptData();
}//Æô¶¯Ì×½Ó×Ö£¬²¢ÉèΪ¼àÌý
BOOL CServerDlg::MyInitSock()
{
int Status;
WSADATA WSAData;
WORD wVersionReqd=MAKEWORD(1,1);
Status= WSAStartup(wVersionReqd,&WSAData);
m_sRead+="Ì×½Ó×Ö³õʼ»¯³É¹¦£¡\r\n";
UpdateData(FALSE);
if(Status!=0)
{
return FALSE;
}
m_hServerSocket=socket(AF_INET,SOCK_STREAM,0);
m_sRead+="Ì×½Ó×Ö´´½¨³É¹¦£¡\r\n";
UpdateData(FALSE); //É趨±¾»ú¶Ë¿ÚºÍIP
dstclient_addr.sin_family=PF_INET;
dstclient_addr.sin_port=htons(4096);
dstclient_addr.sin_addr.S_un.S_addr=INADDR_ANY;

//°ó¶¨
Status=bind(m_hServerSocket,(struct sockaddr far*)&dstclient_addr,sizeof(dstclient_addr));

if(Status!=0)
{
return FALSE;
} //ÉèΪ¼àÌý
Status=listen(m_hServerSocket,1);
if(Status!=0)
{
return FALSE;
}
return TRUE;
}
//½ÓÊÜÊý¾Ý
BOOL CServerDlg::AcceptData()
{
int len = sizeof(dstclient_addr);
//½ÓÊÜÐÂÁ¬½Ó

NewSock=accept(m_hServerSocket,(struct sockaddr far*)&dstclient_addr,&len);
if(NewSock<0)
{
closesocket(m_hServerSocket);
return FALSE;
}
closesocket(m_hServerSocket);
m_sRead+="Á¬½Ó³É¹¦£¡\r\n"; //»ñµÃÆÁÄ»µÄ·Ö±æÂÊ
SysWidth = GetSystemMetrics(SM_CXSCREEN);
SysHeight = GetSystemMetrics(SM_CYSCREEN);
m_sRead+="已获得屏幕分辨率\r\n";
return TRUE;
}这个是服务端程序
当接收到客户端CONNECT函数之后
不能执行accept下面的程序
没有输出“已获得屏幕分辨率”为什么呢我做的这个软件只需要和一个客户端连接
还需要多线程吗
如果需要,如何做多线程代码?书上的看不大懂
能说的简易一点吗,谢谢!