C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 10 - Создаем сервер / NetBIOS / Сеть

Шаг 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)


Загрузить проект | | |
Автор Каев Артем.
[AD]