18,363
社区成员




UINT SendDataThread(LPVOID lpParam)
{
CVSMNETDlg* dlg=(CVSMNETDlg*)lpParam;
SOCKET sock;
struct sockaddr_in servaddr;
servaddr.sin_family=AF_INET;
servaddr.sin_port=htons(4040);
servaddr.sin_addr.s_addr=htonl(INADDR_ANY);
struct sockaddr_in clientaddr;
int lenth=sizeof(clientaddr);
int result;
sock=socket(AF_INET,SOCK_STREAM,0);
result = bind(sock, (struct sockaddr *) &servaddr, sizeof(servaddr));
if (result == SOCKET_ERROR) /* 绑定失败 */
{
closesocket(sock);
AfxMessageBox("绑定失败");
}
result = listen(sock, SOMAXCONN);
while(1)
{
dlg->ImageSock=accept(sock,(struct sockaddr*)&clientaddr,&lenth);
AfxBeginThread(SendData,dlg);
}
closesocket(sock);
return 0;
}
while(1)
{
SOCKET ImageSock=accept(sock,(struct sockaddr*)&clientaddr,&lenth);
AfxBeginThread(SendData,ImageSock);
}
或者用数组和链表来保存客户端socket