Шаг 26 - Поддержка сокетов MFC связываемся

Итак, теперь мы попробуем создать сокет и связать его с портом по адресу. Для создания есть функция Create описание ее большое, мы пока воспользуемся ею по умолчанию. Только сокет создан можно воспользоваться функцией Connect():

BOOL Connect( LPCTSTR lpszHostAddress, UINT nHostPort );

Здесь нужно указать имя хостов в виде IP или в виде имени и порт. Создает обычное приложение MFC на базе диалогового окна. Кнопку Connect и код к ней.

void CTestConnectDlg::OnConnect() 
{
	WSADATA wsaData; 
	if (!AfxSocketInit(&wsaData))
	{
		AfxMessageBox("Error Unit");
		return;
	}

	CSocket sa;
	sa.Create();
	if (sa.Connect("169.254.59.172",139))
	{
		AfxMessageBox("Ok connect ");
	} 
	else
		AfxMessageBox("Error Connect");
	sa.Close(); 	
}

Да кстати именно такое приложение нужно на базе окна, а не просто консольное, в консольном приложении получите ошибку при создании сокета. Итак, пробуем связаться. Пока локально - "Шаг 12 - Тестирование сервера без подключения к инету". Можно использовать и адрес 127.0.0.1 и порт 135. Прежде чем проверять проверьте для начала соединения используя TelNet: "N/A".

А потом можно и на yandex сходить.

if (sa.Connect("pop.yandex.ru",25))
{
	AfxMessageBox("Ok connect ");
} 
else AfxMessageBox("Error Connect");

Результат:

Можете сравнить насколько это сложнее чем API читайте "Шаг 5 - Поля заголовоков HTTP клиента".


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 16.11.2001