Шаг 10 - Создаем сервер

Общий вид программы такой:

void main()
{
	LANA_ENUM lenum;

	if (ResetNetBios(LANA_NUM)!=NRC_GOODRET)
		printf("Error Reset \n");
	else
		printf("God Reset\n");

	if (AddNetBiosName(LANA_NUM,SERVER_NAME)!=NRC_GOODRET)
		printf("Error Add \n");
	else
		printf("God Add Name\n");
	Proccess();
}

Инициализируем NetBios. Добавляем имя и запускаем процедуру Proccess:

void Proccess()
{
	NCB ncb;
	UCHAR ucRetCode;
	ClearStruct(&ncb);
	FillMemory(ncb.ncb_name, sizeof(ncb.ncb_name), ' ');
	CopyMemory(ncb.ncb_name, SERVER_NAME, strlen(SERVER_NAME));
	FillMemory(ncb.ncb_callname, sizeof(ncb.ncb_callname), ' ');
	CopyMemory(ncb.ncb_callname, ALL_CLIENTS, strlen(ALL_CLIENTS));
	ncb.ncb_lana_num = LANA_NUM;
	ncb.ncb_command = NCBLISTEN;
	ucRetCode = Netbios(&ncb);
	if (ucRetCode != NRC_GOODRET)
		printf("Error Listen\n");
	else
		printf("Connect !!!!!\n");
}

Посмотрите она ужастно простая. ncb.ncb_name - имя сервера; в ncb.ncb_callname - имя клиента. Имя клиента у меня такое:

#define ALL_CLIENTS    "*"

Это значит, что могут подсоединяться все. NCBLISTEN будет ждать обращения. И после этого по результату работы NetBios выдаст сообщение.

Загрузите и скомпилируйте проект. Запустите сервер. Будет просто окно, которое будет ждать. А потом запустите клиента, сервер среагирует и завершит работу !!!!. Примерно должно быть так:

gif/10_1.gif (1914 b)


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