Void main()
{
WORD
wVersionRequested;
WSADATA
wsaData;
SOCKET
s1, s2;
sockaddr_in
addr1, addr2;
int
err, size;
SetConsoleOutputCP(1251);
// локализация вывода
wVersionRequested
= MAKEWORD(2, 2); // максимальный
номер версии
err
= WSAStartup(wVersionRequested, &wsaData); // инициализация
WinSock DLL
if
(err != 0) return; // если ошибка - завершение
работы
addr1.sin_family
= AF_INET; // тип адреса
addr1.sin_port
= htons(1280); // номер порта
addr1.sin_addr.s_addr
= inet_addr("127.0.0.1"); // IP-адрес
сервера
s1
= socket(AF_INET, SOCK_STREAM, 0); // создание
сокета, протокол
TCP
bind(s1,
(sockaddr*) &addr1, sizeof(addr1)); // связывание
сокета с локальным адресом
listen(s1,
5); // перевод сокета в состояние
прослушивания
while
(true) // вечный цикл обработки
{
size
= sizeof(addr2);
s2
= accept(s1, (sockaddr*)&addr2, &size); // ожидание
соединения с
клиентом
_beginthread(work_sms,
0, (void*)s2); // запуск нового
потока
}
WSACleanup();
// прекращение работы с WinSock DLL
}
Результаты тестирования:

