n="justify">}; :: CAboutDlg (): CDialog (CAboutDlg :: IDD)
{
} CAboutDlg :: DoDataExchange (CDataExchange * pDX)
{:: DoDataExchange (pDX);
} _MESSAGE_MAP (CAboutDlg, CDialog) _MESSAGE_MAP ()
// App command to run the dialogCLip_serverApp :: OnAppAbout ()
{aboutDlg;. DoModal ();
} WaitingForConnect (LPVOID pParam)
{
SOCKET MySocket ;//основне гніздо - на яке приймаються з'єднання
sockaddr_inMySocketAdress ;//структура даних гнездаnewSocket ;//гніздо, на яке перенаправляються з'єднання
inta; = socket (AF_INET, SOCK_STREAM, 0);// створити гніздо
if (MySocket == INVALID_SOCKET)
{//у випадку невдачі - видати повідомлення та вийти
// cout <
}. sin_family = AF_INET;// заповнення структури данних.sin_port = htons (port);. sin_addr.s_addr = htonl (INADDR_ANY); (bind (MySocket, (sockaddr *) & MySocketAdress, (MySocketAdress)) == SOCKET_ERROR)// отримання локальної адреси
{//у випадку невдачі - видати повідомлення, закрити гніздо і вийти
// cout <
} (listen (MySocket, 5) == SOCKET_ERROR)// перекладати гніздо в стан очікування
{
// cout <
} (1) {= sizeof (sockaddr_in); = accept (MySocket, (sockaddr *) & MySocketAdress, & a);// прийняти з'єднання (newSocket == INVALID_SOCKET)
{
// cout <
}
/* = sizeof (sockaddr_in); (getpeername (sw, (sockaddr *) & MySocketAdress, & a)! = SOCKET_ERROR)
// спробувати отримати адресу клієнта
cout <<"accepted connection from" <
*/
// запустити в окремій нитки функцію обслуговування клієнта
if (! AfxBeginThread (ConnectHandler, (void *) newSocket))
{
// cout <
}
} (MySocket); 0;
} ConnectHandler (LPVOID pParam)
{s = (SOCKET) pParam ;//гніздо, з яким буде вестися обменbuf [500],// ​​буфери для даних [500],// ​​буфер для шифрованого тексту
pwd [21];// парольlen...