Курсовая работа: Розвиток сучасних структур програмного забезпечення
return 0;
}
DWORD WINAPI NetThread(LPVOID lpParam)//прийняття сокета
{
SOCKETsServerListen,sClient;
sockaddr_in localaddr,clientaddr;
HANDLEhThread;
DWORDdwThreadId;
INTiSize;
sServerListen = socket(AF_INET, SOCK_STREAM, IPPROTO_IP);
if (sServerListen == SOCKET_ERROR)
return 0;
localaddr.sin_addr.s_addr = htonl(INADDR_ANY);
localaddr.sin_family = AF_INET;
localaddr.sin_port = htons(5050);
if (bind(sServerListen, (struct sockaddr *)&localaddr, sizeof(localaddr)) == SOCKET_ERROR)
return 1;
listen(sServerListen, 4);
while (1)
{
iSize = sizeof(clientaddr);
sClient = accept(sServerListen, (struct sockaddr *)&clientaddr,&iSize);
if (sClient == INVALID_SOCKET)
break;
hThread = CreateThread(NULL, 0, ClientThread, (LPVOID)sClient, 0, &dwThreadId);
if (hThread == NULL)
break;
CloseHandle(hThread);
}