Сокет готов, а значит можно произвести соединение с сервером. Для этого в библиотеке WinSock есть функция connect. У этой функции есть три параметра:
□ Переменная-сокет, которую мы получили после вызова функции socket.
□ Структура ТИПа TSockAddr.
□ Размер структуры, указанной во втором параметре. Для того чтобы узнать
размер, можно воспользоваться функцией sizeof и указать в качестве
параметра структуру.
Структура TSockAddr очень сложная. Перечислим только основные поля, которые должны быть заполнены:
□ sin_family — семейство используемой адресации. Здесь нужно указывать
то же, что указывали в первом параметре при создании сокета (для нас
это PF_INET ИЛИ AF_INET);
□ sinaddr — адрес сервера, куда мы хотим присоединиться;
□ sin_port — порт, к которому мы хотим подключиться.
На деле это будет выглядеть так:
var
addr: TSockAddr; begin
addr.sin_family := AF_INET;
addr.sin_addr := ServerName;
addr.sin_port := htons(21);
connect(FSocket, @addr, sizeof(addr));
end;
Функция для закрытия соединения — closesocket. В качестве параметра нужно указать переменную — сокет.