в потік.
3.4.2 Опис користувальницьких класів
При розробці сервера були створені такі класи:
Class1 - клас, призначений для сканування мережі, і отримання списку комп'ютерів мережі. Даний клас імпортує дві функції з бібліотеки netapi32.dll. Містить необхідні перерахування для роботи з імпортованими функціями. p align="justify"> ThreadServer - клас містить реалізацію багатопотокового сервера, даний клас включає в себе методи для роботи сервера.
ConnectionInfo - клас містить інформацію про підключення.
При розробці клієнта були створені такі класи:
Form1 - клас містить в собі основну логіку клієнта і обробники кнопок.
4. РЕАЛІЗАЦІЯ ПЗ
сокет конфігурування користувальницький інтерфейс
Основний функціонал програми реалізований у клінтском додатку проекту, його фундаментом є дві користувача функції і один користувальницький клас. Розглянемо їх докладніше., Спеціально розроблений клас для отримання списку вузлів мережі. Метод класу GetServerList заснований на функції NetServerEnum. Реалізація класу Class1:
public class Class1
{
[DllImport ("netapi32.dll", EntryPoint = "NetServerEnum")] static extern NERR NetServerEnum ([MarshalAs (UnmanagedType.LPWStr)] string ServerName, int Level, out IntPtr BufPtr, int PrefMaxLen, ref int EntriesRead, ref int TotalEntries, SV_101_TYPES ServerType, [MarshalAs (UnmanagedType.LPWStr)] string Domain, int ResumeHandle);
[DllImport ("netapi32.dll", EntryPoint = "NetApiBufferFree")] static extern NERR NetApiBufferFree (IntPtr Buffer);
//
// типи серверів
//
[Flags] enum SV_101_TYPES: uint
{_TYPE_WORKSTATION = 0x00000001, _TYPE_SERVER = 0x00000002, _TYPE_SQLSERVER = 0x00000004, _TYPE_DOMAIN_CTRL = 0x00000008, _TYPE_DOMAIN_BAKCTRL = 0x00000010, _TYPE_TIME_SOURCE = 0x00000020, _TYPE_AFP = 0x00000040, _TYPE_NOVELL = 0x00000080, _TYPE_DOMAIN_MEMBER = 0x00000100, _TYPE_PRINTQ_SERVER = 0x00000200, _TYPE_DIALIN_SERVER = 0x00000400, _TYPE_XENIX_SERVER = 0x00000800, _TYPE_SERVER_UNIX = SV_TYPE_XENIX_SERVER, _TYPE_NT = 0x00001000, _TYPE_WFW = 0x00002000, _TYPE_SERVER_MFPN = 0x00004000, _TYPE_SERVER_NT = 0x00008000, _TYPE_POTENTIAL_BROWSER = 0x00010000, _TYPE_BACKUP_BROWSER = 0x00020000, _TYPE_MASTER_BROWSER = 0x00040000, _TYPE_DOMAIN_MASTER = 0x00080000, _TYPE_SERVER_OSF = 0x00100000, _TYPE_SERVER_VMS = 0x00200000 , _TYPE_WINDOWS = 0x00400000, _TYPE_DFS = 0x00800000, _TYPE_CLUSTER_NT = 0x01000000, _TYPE_TERMINALSERVER = 0x02000000, _TYPE_CLUSTER_VS_NT = 0x04000000, _TYPE_DCE = 0x10000000, _TYPE_ALTERNATE_XPORT = 0x20000000, _TY...