Класс для удобной роботы с socket
Методы:
- LoadWSA и UnLoadWSA для загрузки и выгрузки библиотеки сокетов.
- CreateSocket и CloseSocket — думаю и так понятно
- Disconnect — разорвать соединение, тоже самое что и ( CloseSocket после CreateSocket)
- SendData и RecvData — считать данные отправить.
- SendDataAll и RecvDataAll — автоматическое считывание и отправка всех переданных данных
- GetError — получить последнею ошибку.
- GetSendSize и GetRecvSize — получить количество считанных\отправленных данных
- Connect — соединится с сервером
- ShootDown — прервать действие.
- Select — проверка на готовность сокета к операции
- Bind — подключение к порту
- Listen — прослушка порта
- Accept — метод приема подключившегося клиента
Для подробной необходимой информации смотрите .h файл, там всё подробно описано в комментариях.
Ну и естественно примеры:
- Получения контента страницы( соединение с сервером, отправка\получения заголовков)
WSADATA ws; Socket::LoadWSA(ws); Socket sk; sk.CreateSocket(); std::string Header,RequestResult; Header += "GET / HTTP/1.1\r\n"; Header += "Host: djoser-blog.ru\r\n"; Header += "Connection: close\r\n\r\n"; if(sk.Connect("djoser-blog.ru",80)){ if(sk.SendDataAll(Header)){ sk.RecvDataAll(RequestResult); } } sk.CloseSocket(); Socket::UnLoadWSA();
2. Создание локального прокси сервера.
Пример большой, вынес его в отдельный файл..