Шаг 3 - Получение имени хоста

Создавайте проект, как в прошлый раз только с именем WinSock2.

Ну, во-первых, я вынес инициализацию и закрытие WinSock в отдельные процедуры. Общий код программы теперь выглядит так.

void StartWinSock();
void StopWinSock();
void WaitSocket();

void main()
{
	StartWinSock();
	WaitSocket();
	StopWinSock();
}

WaitSocket создан на перспективу, то есть я буду создавать ожидающий сокет. А пока в нем только функция получения имени хоста. Вот как она выглядит

void WaitSocket()
{
	char chInfo[64];

	if (gethostname(chInfo,sizeof(chInfo)))
	{
		printf("Not local host\n");
		return;
	}
	else
	{	
		printf(chInfo);
		printf(" GetHostName OK !!!!!\n");
	}
}

Главное в этом коде функция gethostname:

int gethostname (
	char FAR * name, 
	int namelen       
);

В эту функцию передается буфер и его длина для возврата имени. При отсутствии ошибок эта функция вернет 0.

Я опробовал этот код под Windows 98, вот что я получил в ответ.

Microsoft(R) Windows 98
   (C)Copyright Microsoft Corp 1981-1998.

C:\WINDOWS>d:

D:\PROJECT\ClientServer\Winsock2\Debug>winsock2
Winsock initial OK !!!!
Jana GetHostName OK !!!!!
Cleapir Good !!!!!

Jana - это у меня настроенный удаленный доступ к сети (Internet :-))


Загрузить проект | Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 14.01.2000