Сокеты в Visual C++ 2008

  • Автор темы andvorob
  • Дата начала
A

andvorob

Гость
#1
Возник вопрос, как использовать сокеты в Visual C++ 2008. В другом компиляторе я уже работал с ними, а здесь не получается. В MSDN прочитал, что требуется:
Header
Declared in Winsock2.h.
Library
Use Ws2_32.lib.
DLL
Requires Ws2_32.dll.

Кроме того, что я не знаю, как их подключить, этих файлов вообще нет в VS 2008. Их можно просто скачать из инета?

Подскажите, пожалуйста, как их подключить к проекту?
P.S.: если знаете, скиньте, пожалуйста, ссылку на русскоязычную книгу по Visual C++ 2008.
 
S

SynTronic

Гость
#4
Они есть в Platform SDK :) Находится это хозяйство в папке диск:/program files/microsoft SDKs/Windows/(версия). Путь к этому SDK уже прописан в настройках Visual Studio. ТАк что просто подключаешь файлы к проекту.
Подключатся или с помощью свойств проекта, либо в заголовочном файле (*.h) (желательно stdafx.h, если он есть) прописать:
#include <Winsock2.h>
#pragma comment(lib, "Ws2_32.lib")
 
K

KibeRShuriK

Гость
#5
1. Подключашь заголовочный файл Windows.h(в нем уже указана зависимость к WinSock2.h)
2. В параметрах проекта подключаешь статисческую библиотеку ws2_32.lib(Project->Properties*->Linker->Input->Additional Dependens=ws2_32.lib), либо как написал SynTronic - указываешь через параметры линкеру.
3. Иницилизируешь сокеты. Функция WSAStartup(&WsaData, MAKEWORD(2,2));
в макросе MAKEWORD указываешь версию сокетов Windows.

Все, начинаешь работать...чтобы получить возможность работать с более удобными классами сокетов(CSocket\CAsyncSocket) нужно включить использование MFC библиотек и подключить файл afxsock2.h, ну это если проект изначально не MFC-стандарта.
Кроме того, что я не знаю, как их подключить, этих файлов вообще нет в VS 2008. Их можно просто скачать из инета?
Есть-есть=) в папке с SDK Windows, так что качать не надо ничего)