Скачиваний:
18
Добавлен:
01.05.2014
Размер:
14.96 Кб
Скачать
я_6.3. ‘ҐвҐўлҐ Є®¬¬г­ЁЄ жЁ®­­лҐ Їа®в®Є®«л

Ќ  бҐвҐў®¬ га®ў­Ґ ®Ў¬Ґ­ Їа®Ё§ў®¤Ёвбп ЎҐ§ Ї®¤вўҐа¦¤Ґ­Ёп б
Ї®¬®ймо бвагЄвга ¤ ­­ле, ­ §лў Ґ¬ле ¤ в Ја ¬¬ ¬Ё.

ЏҐаҐ¤ з  ЎҐ§ Ї®¤вўҐа¦¤Ґ­Ёп ®§­ з Ґв, зв® Ї®бл« п ¤ в Ја ¬¬л,
ЇҐаҐ¤ ой п бв®а®­  ­Ґ ¬®¦Ґв Ўлвм 㢥७ , зв® нвЁ ¤ в Ја ¬¬л
Ўг¤гв ЇаЁ­пвл, ¤  ҐйҐ Ё ў в®© ¦Ґ б ¬®© Ї®б«Ґ¤®ў вҐ«м­®бвЁ, Є Є®©
Ўл«Ё Ї®б« ­л.

Љ ­ ЁЎ®«ҐҐ а бЇа®бва ­Ґ­­л¬ Їа®в®Є®« ¬ бҐвҐў®Ј® га®ў­п
®в­®бпвбп б«Ґ¤гойЁҐ Їа®в®Є®«л:

IPX (Internetwork Packet Exchange) б।л Novell, ¤® 70%
бҐвҐ© ॠ«Ё§гов Їа®в®Є®«л нв®© б।л. ” ЄвЁзҐбЄЁ бв ­¤ ав­л©
Їа®в®Є®«.

IP (Internet Protocol) ЁбЇ®«м§гҐвбп ў а §«Ёз­ле
ўлзЁб«ЁвҐ«м­ле б। е. ЋзҐ­м иЁа®Є® а бЇа®бва ­Ґ­­л© Їа®в®Є®«.
€бв®аЁп ҐЈ® а бЇа®бва ­Ґ­Ёп Ё¤Ґв ®в бҐвҐ© UNIX.

NetBIOS Ї®¤¤Ґа¦Ёў Ґвбп ў бҐвпе IBM, Novell, Microsoft.
Ћб®ЎҐ­­® Ї®Їг«п७ ў бҐвпе IBM.

ЌҐЇ®б।б⢥­­® ЇҐаҐ¤ зг Ё ЇаЁҐ¬ Ё­д®а¬ жЁЁ ®бгйҐбвў«пов
бҐвҐўлҐ Є авл, гбв ­®ў«Ґ­­лҐ ў Є®¬ЇмовҐаҐ.
ЏаЁЄ« ¤­®© Їа®Ја ¬¬Ґ ­Ґ ­Ґ®Ўе®¤Ё¬®бвЁ а Ў®в вм б бҐвҐў®©
Є ав®© ­ Їап¬го. ђ Ў®в  ®бгйҐбвў«пҐвбп зҐаҐ§ бЇҐжЁ «м­лҐ
Їа®Ја ¬¬л-¤а ©ўҐал.
„«п ўл§®ў  ¤а ©ўҐа  б।  ЇаҐ¤®бв ў«пҐв бЇҐжЁ «м­л©
Їа®Ја ¬¬­л© Ё­вҐадҐ©б ў ўЁ¤Ґ ЇаҐалў ­Ёп Ё«Ё  ¤аҐб  в®зЄЁ ўе®¤  ў
¤а ©ўҐа.
‚ ॣЁбвал § ЇЁблў овбп ¤ ­­лҐ б®Ј« б­® Їа®в®Є®« ,   § вҐ¬
ўл§лў Ґвбп ­г¦­®Ґ ЇаҐалў ­ЁҐ Ё«Ё Їа®жҐ¤га .

Џа®Ја ¬¬  ­Ґ д®а¬ЁагҐв Ї ЄҐвл, Є®в®алҐ ЇҐаҐ¤ овбп
­ҐЇ®б।б⢥­­® ў Є ­ «. ќвЁ Ї ЄҐвл д®а¬ЁагҐв Є®¬¬г­ЁЄ жЁ®­­ п
б। ,   Ё¬Ґ­­®, ¤а ©ўҐа. Ќ® ®­ д®а¬ЁагҐв Ёе ­  ®б­®ўҐ
Ё­д®а¬ жЁЁ, ЇаҐ¤®бв ў«пҐ¬®© ЇаЁЄ« ¤­®© Їа®Ја ¬¬®©.

€­д®а¬ жЁп ¤а ©ўҐа㠯।®бв ў«пҐвбп ў ўЁ¤Ґ бвагЄвгал ¤ ­­ле,
­ §лў Ґ¬®©, ®Ўлз­®, "гЇа ў«пойЁ© Ў«®Є".
‚ гЇа ў«пойЁ© Ў«®Є ўе®¤Ёв:

-  ¤аҐб­ п Ё­д®а¬ жЁп;
- е а ЄвҐа Є®¬ ­¤л;
-  ¤аҐб ЎгдҐа®ў ¤ ­­ле;
- १г«мвЁагойЁҐ Ї®«п.

„а ©ўҐа зЁв Ґв ᮤҐа¦Ё¬®Ґ гЇа ў«по饣® Ў«®Є , ўлЇ®«­пҐв
ЇаҐ¤ЇЁб ­­лҐ ¤Ґ©бвўЁп Ё ў®§ўа й Ґв १г«мв в ўлЇ®«­Ґ­Ёп ®ЇҐа жЁЁ.

ђ Ў®в  ЇаЁЄ« ¤­®© Їа®Ја ¬¬л, ®бгйҐбвў«по饩 ®Ў¬Ґ­ Ї® бҐвЁ,
ᮤҐа¦Ёв б«Ґ¤гойЁҐ вЁЇ®ўлҐ нв Їл:
1) Ё­ЁжЁ «Ё§ жЁп;
2) ®Ў¬Ґ­ ¤ ­­л¬Ё;
3) ¤ҐЁ­ЁжЁ «Ё§ жЁп.

• а ЄвҐа 1)-Ј® Ё 3)-Ј® нв Ї®ў ®ЇаҐ¤Ґ«пҐвбп ўЁ¤®¬ Їа®в®Є®« .

ђ бᬮваЁ¬ ў Є зҐб⢥ ЇаЁ¬Ґа  Є®¬Ї®­Ґ­вл ЇаЁЄ« ¤­ле
Їа®Ја ¬¬, ®Ў¬Ґ­Ёў ойЁебп ¤ ­­л¬Ё Ї® Їа®в®Є®«г NetBIOS. ЋЎйЁҐ Ё¤ҐЁ
®бв ­гвбп в ЄЁ¬Ё ¦Ґ Ё ЇаЁ ¤агЈЁе Їа®в®Є®« е.

Ћб­®ў®© Їа®в®Є®«  NetBIOS пў«пҐвбп бвагЄвга  ¤ ­­ле,
­ §лў Ґ¬ п NCB - Network Control Block. (‚ Їа®в®Є®«Ґ IPX Ґбвм
бвагЄвга , б«г¦ й п ⥬ ¦Ґ жҐ«п¬ ECB - Event Control Block.)

Џ бЄ «ҐўбЄ®Ґ ®ЇЁб ­ЁҐ бвагЄвгал NCB Ё¬ҐҐв б«Ґ¤гойЁ© ўЁ¤:

Type
TNCB = Record
Cmd : Byte; {command code}
CCode : Byte; {error code}
LocalSessionNumber : Byte; {session number}
NetworkNameNumber : Byte; {name number}
Buffer : Pointer; {data buffer pointer}
Size : Word; {data buffer size}
CallName : Array[0..15] Of Char;
OurName : Array[0..15] Of Char;{self name}
ReceiveTimeout : Byte; {receive timeout}
SendTimeout : Byte; {send timeout}
PostRoutine : Pointer; {post-procedure address}
AdapterNumber : Byte; {adapter number}
FinalCCode : Byte; {final error code}
Reserved : Array[0..13] Of Char;{reserved}
End {TNCB};

Cmd - Є®¤ Є®¬ ­¤л;
CCode - Є®¤ ®иЁЎЄЁ, ўл¤ ў Ґ¬л© ¤® ўлЇ®«­Ґ­Ёп Є®¬ ­¤л;
LocalSessionNumber - ­®¬Ґа Є ­ «  ¤«п ва ­бЇ®ав­®Ј® га®ў­п;
NetworkNameNumber - ­®¬Ґа Ё¬Ґ­Ё бв ­жЁЁ;
Buffer -  ¤аҐб ЎгдҐа  ¤ ­­ле;
Size - а §¬Ґа ЎгдҐа  ¤ ­­ле;
CallName - Ё¬п бв ­жЁЁ ­ §­ зҐ­Ёп;
OurName - б®Ўб⢥­­®Ґ Ё¬п бв ­жЁЁ;
ReceiveTimeout - Ё­вҐаў « ®¦Ё¤ ­Ёп ўлЇ®«­Ґ­Ёп Є®¬ ­¤л ЇаЁҐ¬ ;
SendTimeout - Ё­вҐаў « ®¦Ё¤ ­Ёп ўлЇ®«­Ґ­Ёп Є®¬ ­¤л ЇҐаҐ¤ зЁ;
PostRoutine -  ¤аҐб Їа®жҐ¤гал ®Ўа в­®Ј® ўл§®ў ;
AdapterNumber - ­®¬Ґа бҐвҐў®© Є авл;
FinalCCode - Є®¤ § ўҐа襭Ёп Є®¬ ­¤л;

Reserved - १Ґаў ¤«п ў­гв७­Ёе 楫Ґ© Їа®в®Є®« .

‚ ᮮ⢥вбвўЁҐ б вҐе­®«®ЈЁҐ© ®аЈ ­Ё§ жЁЁ г¤ «Ґ­­®Ј® ўл§®ў 
Їа®жҐ¤га RPC ўбҐ дг­ЄжЁЁ ¬®Јгв ўлЇ®«­пвмбп Є Є ў ०Ё¬Ґ б
®¦Ё¤ ­ЁҐ¬, в Є Ё ў  бЁ­еа®­­®¬ ०Ё¬Ґ.
‚ ЇҐаў®¬ б«гз Ґ, ўл§ў ў Їа®жҐ¤гаг ¤а ©ўҐа , Їа®Ја ¬¬ 
­ е®¤Ёвбп ў ­Ґ© ¤® § ўҐа襭Ёп ®ЇҐа жЁЁ.
‚® ўв®а®¬ б«гз Ґ Ё§ ўл§®ў  Їа®жҐ¤гал ¤а ©ўҐа  гЇа ў«Ґ­ЁҐ
ба §г ¦Ґ ў®§ўа й Ґвбп ў Їа®Ја ¬¬г,   ®Ў ®Є®­з ­ЁЁ ®ЇҐа жЁЁ
бўЁ¤ҐвҐ«мбвўгҐв ўл§®ў Є®¬¬г­ЁЄ жЁ®­­®© б।®© Їа®жҐ¤гал ®Ўа в­®Ј®
ўл§®ў .
Џа®жҐ¤га  ®Ўа в­®Ј® ўл§®ў  ¤®«¦­  㤮ў«Ґвў®апвм вॡ®ў ­Ёп¬
Є Їа®жҐ¤га ¬ ®Ўа Ў®вЄЁ ЇаҐалў ­Ё©. ‚ ЇаЁ­жЁЇҐ Їа®жҐ¤га  ®Ўа в­®Ј®
ўл§®ў  ¬®¦Ґв ўҐа­гвм  ¤аҐб NCB, Ї® Є®в®а®¬г § ўҐа襭  ®ЇҐа жЁп,
­® «гзиҐ Ўг¤Ґв, Ґб«Ё Є Є ¦¤®¬г NCB ЇаЁўп§ вм бў®о Їа®жҐ¤гаг,
гбв ­ ў«Ёў ойго д« Ј § ўҐа襭Ёп ®ЇҐа жЁЁ.

Procedure PostProc; Interrupt;
Begin
Flag := 1;
End {PostProc};

я2€­ЁжЁ «Ё§ жЁп

€­ЁжЁ «Ё§ жЁп ўЄ«оз Ґв ў бҐЎп Їа®ўҐаЄг ­ «ЁзЁп Ё­вҐа䥩б 
NetBIOS Ё ¤®Ў ў«Ґ­ЁҐ Ё¬Ґ­Ё бв ­жЁЁ ў в Ў«Ёжг «®Є «м­ле Ё¬Ґ­.
‡¤Ґбм 㬥бв­® бЄ § вм ® ЇаЁ­жЁЇҐ  ¤аҐб жЁЁ ў Їа®в®Є®«Ґ
NetBIOS.
„«п  ¤аҐб жЁЁ ЁбЇ®«м§говбп Ё¬Ґ­ , ЇаҐ¤бв ў«пойЁҐ б®Ў®©
бва®ЄЁ бЁ¬ў®«®ў а §¬Ґа®¬ ¤® 16 Ў ©в®ў.
„«п ¤®Ў ў«Ґ­Ёп Ё¬Ґ­Ё ­ ¤® ЇҐаҐ¤ вм бва®Єг б Ё¬Ґ­Ґ¬ ў Ї®«Ґ
OurName NCB Ё ўл¤ вм Є®¬ ­¤г "„®Ў ўЁвм Ё¬п", в.Ґ. ўл§ў вм
¤а ©ўҐа. „а ©ўҐа ўлЇ®«­пҐв Є®¬ ­¤г Ё ў®§ўа й Ґв в Є ­ §лў Ґ¬л©
"­®¬Ґа Ё¬Ґ­Ё", Є®в®ал© ў ¤ «м­Ґ©иЁе ®ЇҐа жЁпе ЁбЇ®«м§гҐвбп Є Є
б®Ўб⢥­­л©  ¤аҐб.

(‚ Їа®в®Є®«Ґ IPX, ­ ЇаЁ¬Ґа, Ё­ЁжЁ «Ё§ жЁп § Є«оз Ґвбп ў
®вЄалвЁЁ "б®ЄҐв " - ­ҐЄ®ҐЈ® ўЁавг «м­®Ј® ࠧꥬ , зҐаҐ§ Є®в®ал©
®бгйҐбвў«пҐвбп ®ЇҐа жЁп ®Ў¬Ґ­  ¤ ­­л¬Ё.)

Џ®б«Ґ ¤®Ў ў«Ґ­Ёп «®Є «м­®Ј® Ё¬Ґ­Ё ­  Є ¦¤®© Ё§ бв ­жЁ© ¬®¦Ґв
Ўлвм ­ з в ®Ў¬Ґ­ ¤ ­­л¬Ё.

я2ЋЎ¬Ґ­ ¤ ­­л¬Ё

ЋЎ¬Ґ­ ¤ ­­л¬Ё ®бгйҐбвў«пҐвбп б Ї®¬®ймо Є®¬ ­¤ "ЇҐаҐ¤ вм
¤ в Ја ¬¬г" Ё "ЇаЁ­пвм ¤ в Ја ¬¬г".

„«п ЇҐаҐ¤ зЁ ¤ ­­ле Ј®в®ўЁвбп NCB, ў Є®в®а®¬ гЄ § ­л:
- Є®¤ Є®¬ ­¤л;
-  ¤аҐб Ё а §¬Ґа ЎгдҐа  б ¤ ­­л¬Ё;
- ­®¬Ґа Ё¬Ґ­Ё;
- Ё¬п бв ­жЁЁ ­ §­ зҐ­Ёп;
-  ¤аҐб Їа®жҐ¤гал ®Ўа в­®Ј® ўл§®ў .
„ «ҐҐ Їа®Ё§ў®¤Ёвбп ўл§®ў ¤а ©ўҐа , Є®в®а®¬г ЇҐаҐ¤ ­  ¤аҐб
нв®Ј® NCB.

„«п ЇаЁҐ¬  ¤ ­­ле Ј®в®ўЁвбп NCB, ў Є®в®а®¬ гЄ § ­л:
- Є®¤ Є®¬ ­¤л;
-  ¤аҐб Ё а §¬Ґа ЎгдҐа  ¤«п ЇаЁҐ¬  ¤ ­­ле;
- ­®¬Ґа Ё¬Ґ­Ё;
-  ¤аҐб Їа®жҐ¤гал ®Ўа в­®Ј® ўл§®ў .
„ «ҐҐ Їа®Ё§ў®¤Ёвбп ўл§®ў ¤а ©ўҐа , Є®в®а®¬г ЇҐаҐ¤ ­  ¤аҐб
нв®Ј® NCB.
Љ®Ј¤  ®ЇҐа жЁп ЇаЁҐ¬  § Є®­зЁвбп, ў Ї®«Ґ CallName Ўг¤Ґв
§ ЇЁб ­® Ё¬п бв ­жЁЁ, ®в Є®в®а®© Ї®«г祭  ¤ в Ја ¬¬ .

я2„ҐЁ­ЁжЁ «Ё§ жЁп

„ҐЁ­ЁжЁ «Ё§ жЁп § Є«оз Ґвбп ў г¤ «Ґ­ЁЁ Ё¬Ґ­Ё Ё§ в Ў«Ёжл
«®Є «м­ле Ё¬Ґ­ бв ­жЁЁ.
„«п нв®Ј® Ј®в®ўЁвбп NCB, ў Є®в®а®¬ гЄ § ­л:
- Є®¤ Є®¬ ­¤л;
- г¤ «пҐ¬®Ґ Ё¬п;
-  ¤аҐб Їа®жҐ¤гал ®Ўа в­®Ј® ўл§®ў .

„ «ҐҐ Їа®Ё§ў®¤Ёвбп ўл§®ў ¤а ©ўҐа , Є®в®а®¬г ЇҐаҐ¤ ­  ¤аҐб
нв®Ј® NCB. (‚ Їа®в®Є®«Ґ IPX ўлЇ®«­пҐвбп § ЄалвЁҐ б®ЄҐв .)

…б«Ё Їа®Ја ¬¬ , ўлЇ®«­пҐ¬ п ­  ЇҐаҐ¤ о饩 бв ­жЁЁ, ўл¤ бв
Є®¬ ­¤г "ЇҐаҐ¤ вм ¤ в Ја ¬¬г" а ­миҐ, 祬 Їа®Ја ¬¬ , ўлЇ®«­пҐ¬ п
­  ЇаЁҐ¬­®© бв ­жЁЁ, ўл¤ бв Є®¬ ­¤г "ЇаЁ­пвм ¤ в Ја ¬¬г", в®
ЇҐаҐ¤ ­­ п ¤ в Ја ¬¬  Ўг¤Ґв Ї®вҐап­ . Ѓ®«ҐҐ в®Ј®, ЇаЁҐ¬­ п
Їа®Ја ¬¬  "§ ўЁб­Ґв" ў ®¦Ё¤ ­ЁЁ ЇаЁҐ¬ .

ЏҐаҐ¤ вм ¤ в Ја ¬¬г
Џђ„ ДДДЕДДДДДДДДДДДДДДДДДДДДД
„ в Ја ¬¬  Ўг¤Ґв Ї®вҐап­ 
ЏаЁ­пвм ¤ в Ја ¬¬г
ЏђЊ ДДДДДДДЕДДДДДДДДДДДДДДДДД


ЏҐаҐ¤ вм ¤ в Ја ¬¬г
Џђ„ ДДДДДДДДДЕДДДДДДДДДДДДДДД
„ в Ја ¬¬  Ўг¤Ґв ЇаЁ­пв 
ЏаЁ­пвм ¤ в Ја ¬¬г
ЏђЊ ДДДДДДДЕДДДДДДДДДДДДДДДДД

’.Ґ. §¤Ґбм ўбв ов ⥠¦Ґ ў®Їа®бл бЁ­еа®­Ё§ жЁЁ, зв® Ё ў
⥮ਨ Їа®жҐбб®ў, а бᬮв७­®© а ­ҐҐ.

Љ Є бЁ­еа®­Ё§Ёа®ў вм ўлЇ®«­Ґ­ЁҐ ¤ўге Їа®Ја ¬¬, ўлЇ®«­пойЁебп
­  а §«Ёз­ле Є®¬ЇмовҐа е?
‚л¤ ў вм Є®¬ ­¤г ЇҐаҐ¤ зЁ, Ґб«Ё ­  ЇаЁҐ¬­®© бв®а®­Ґ ­Ґ
ўл¤ ­  Є®¬ ­¤  ЇаЁҐ¬  ЎҐбб¬лб«Ґ­­®.
ђҐиҐ­ЁҐ б®бв®Ёв ў ⮬, зв® Їа®Ја ¬¬  ¤®«¦­  Ё¬Ґвм
 аеЁвҐЄвгаг ЎҐ§ ®¦Ё¤ ­Ёп Ё ўбҐЈ¤  ­ е®¤Ёвмбп б б®бв®п­ЁЁ ЇаЁҐ¬ .
 Ў«®­ в Є®© Їа®Ја ¬¬л ¬®¦Ґв ўлЈ«п¤Ґвм б«Ґ¤гойЁ¬ ®Ўа §®¬.

Flag := 0;
AddName;
While Flag = 0 Do ; {¤®Ў ў«Ґ­ЁҐ Ё¬Ґ­Ё § ўҐа襭®}
Flag := 0;
ReceiveDatagram;
While True Do Begin
If Flag = 1 Then Begin {ЇаЁҐ¬ § ўҐа襭}
Flag := 0;
< Ђ­ «Ё§ в®Ј®, зв® ЇаЁ­пв®;
>
ReceiveDatagram; {б­®ў  ­ з вм ЇаЁҐ¬}
End {If};
< „агЈЁҐ ¤Ґ©бвўЁп Ї®  «Ј®аЁв¬г ЇаЁ«®¦Ґ­Ёп;
>
If KeyPressed Then Begin {ЇаЁ¬Ґа ЇҐаҐ¤ зЁ Ё}
‘h := ReadKey; {§ ўҐа襭Ёп а Ў®вл}
Case Ch Of
's' : SendDatagram;
#27 : Break;
Else
End {Case};
End {If};
End {While};
Flag := 0;
DeleteName;
While Flag = 0 Do ; {г¤ «Ґ­ЁҐ Ё¬Ґ­Ё § ўҐа襭®}

Џа®Ја ¬¬®©-бҐаўҐа®¬ ЇаЁ­пв® ­ §лў вм Їа®Ја ¬¬г, Є®в®а п
Јаг§Ёвбп ЇҐаў®© Ё§ ўбҐе ¤агЈЁе Їа®Ја ¬¬,   § вҐ¬ ­ е®¤Ёвбп ў
०Ё¬Ґ ®¦Ё¤ ­Ёп ЇаЁҐ¬  в Є, Є Є нв® Ё§®Ўа ¦Ґ­® ўлиҐ.

я26.4. ’а ­бЇ®ав­лҐ Є®¬¬г­ЁЄ жЁ®­­лҐ Їа®в®Є®«л

ЋЎ¬Ґ­ ¤ ­­л¬Ё ­  ва ­бЇ®ав­®¬ га®ў­Ґ Ј а ­вЁагҐв ЇаЁҐ¬
Ї ЄҐв®ў, ЇаЁзҐ¬ ў в®© ¦Ґ ®зҐаҐ¤­®бвЁ, зв® Ё ЇҐаҐ¤ з  Ї ЄҐв®ў.
„®ЇгбЄ Ґвбп ¬­®Ј®Єа в­ п ЇҐаҐ¤ з  Ї ЄҐв  ¤® Ї®«г祭Ёп
ЄўЁв ­жЁЁ ® ҐЈ® Їа ўЁ«м­®¬ ЇаЁҐ¬Ґ.
„«п ®Ў¬Ґ­  ¤ ­­л¬Ё ­  ва ­бЇ®ав­®¬ га®ў­Ґ бв ­жЁ© ᮧ¤ Ґвбп
Є ­ « - «®ЈЁзҐбЄ®Ґ ᮥ¤Ё­Ґ­ЁҐ ¤ўге бв ­жЁ©.

ЏаЁ¬Ґа ¬Ё Їа®в®Є®«®ў ва ­бЇ®ав­®Ј® га®ў­п пў«повбп б«Ґ¤гойЁҐ:
SPX (Sequenced Packet Protocol) б।л Novell - ­ ¤га®ўҐ­м
Їа®в®Є®«  IPX;
TCP (Transmission Control Protocol) - ­ ¤га®ўҐ­м Їа®в®Є®« 
IP;
NetBIOS - а ­ҐҐ ®ЇЁб ­­л© Їа®в®Є®« ¬®¦Ґв Ўлвм ЁбЇ®«м§®ў ­ Ё
­  ва ­бЇ®ав­®¬ га®ў­Ґ га®ў­Ґ.

ђ Ў®в  ­  ва ­бЇ®ав­®¬ га®ў­Ґ вॡгҐв Є Ё­ЁжЁ «Ё§ жЁЁ,
ўлЇ®«­пҐ¬®© ­  бҐвҐў®¬ га®ў­Ґ, ¤®Ў ўЁвм Їа®жҐ¤гал ᮧ¤ ­Ёп
Є ­ « ,   Є ¤ҐЁ­ЁжЁ «Ё§ жЁЁ ¤®Ў ўЁвм Їа®жҐ¤гал а §аг襭Ёп Є ­ « .

Ќ ЇаЁ¬Ґа, Ї® Їа®в®Є®«г NetBIOS Ё­ЁжЁ «Ё§ жЁп ¤®«¦­  ўЄ«оз вм
б«Ґ¤гойЁҐ ¤Ґ©бвўЁп:
- Їа®ўҐаЄ  ­ «ЁзЁп NetBIOS;
- ¤®Ў ў«Ґ­ЁҐ Ё¬Ґ­Ё Є в Ў«ЁжҐ «®Є «м­ле Ё¬Ґ­ бв ­жЁЁ;
- ᮧ¤ ­ЁҐ Є ­ « .
„«п ᮧ¤ ­Ёп Є ­ «  Їа®Ја ¬¬ -бҐаўҐа Ј®в®ўЁв NCB Ё ўл§лў Ґв
дг­ЄжЁо "Listen", ўлЇ®«­Ґ­ЁҐ Є®в®а®© § ўҐаи Ґвбп, Є®Ј¤ 
Їа®Ја ¬¬ -Є«ЁҐ­в Ї®б«Ґ Їа®ўҐаЄЁ ­ «ЁзЁп NetBIOS Ё ¤®Ў ў«Ґ­Ёп
Ё¬Ґ­Ё ўл§®ўҐв дг­ЄжЁо "Call".
(Ђ­ «®ЈЁз­лҐ дг­ЄжЁЁ бгйҐбвўгов Ё ў Їа®в®Є®«Ґ SPX.)

‡ ўҐаи пбм, дг­ЄжЁЁ Listen Ё Call, Є ¦¤ п ­  бў®Ґ© бв®а®­Ґ,
ў®§ўа й ов ў NCB ў Ї®«Ґ LocalSessionNumber ­®¬Ґа Є ­ « ,
ЇаЁбў®Ґ­­л© Є®¬¬г­ЁЄ жЁ®­­®© б।®©. ќв®в ­®¬Ґа ЁбЇ®«м§гҐвбп ЇаЁ
Ї®б«Ґ¤гойЁе ®ЇҐа жЁпе ®Ў¬Ґ­  ¤ ­­л¬Ё.

„ҐЁ­ЁжЁ «Ё§ жЁЁ, ®ЇЁб ­­®© ­  бҐвҐў®¬ га®ў­Ґ, ЇаҐ¤иҐбвўгҐв
§ ЄалвЁҐ Є ­ «  ­  ва ­бЇ®ав­®¬ га®ў­Ґ.
„«п нв®Ј® Ј®в®ўЁвбп NCB, ў Є®в®а®¬ гЄ § ­ «®ЈЁзҐбЄЁ© ­®¬Ґа
§ Єалў Ґ¬®Ј® Є ­ « , Ё ўл§лў Ґвбп дг­ЄжЁп "HangUp".
Џ®б«Ґ § ЄалвЁп Є ­ «  г¤ «пҐвбп Ё¬п бв ­жЁЁ Ё Їа®Ја ¬¬ 
§ ўҐаи Ґв бў®о а Ў®вг.

ЏҐаҐ¤ з  Ё ЇаЁҐ¬ ¤ ­­ле ®бгйҐбвў«повбп б Ї®¬®ймо ўл§®ў 
бЇҐжЁ «м­ле дг­ЄжЁ© Send Ё Receive, ў ЇаЁ­жЁЇҐ,  ­ «®ЈЁз­®
ЇҐаҐ¤ зҐ Ё ЇаЁҐ¬г ­  га®ў­Ґ ¤ в Ја ¬¬.

Ќ® бгйҐбвўгов ­ҐЄ®в®алҐ ®в«ЁзЁп, бўп§ ­­лҐ б бЁ­еа®­Ё§ жЁҐ©.

ЏаЁ ᮧ¤ ­ЁЁ Є ­ «  гбв ­ ў«Ёў овбп ўаҐ¬Ґ­  в ©¬ гв , Ї®
ЁбвҐзҐ­Ёо Є®в®але § ўҐаи овбп ®ЇҐа жЁЁ ЇаЁҐ¬  Ё ЇҐаҐ¤ зЁ ¤ ­­ле.

ЏаЁзҐ¬, Ґб«Ё ЇаЁ ®ЇҐа жЁЁ ЇаЁҐ¬  ў вҐзҐ­ЁҐ в ©¬ гв  ­Ґ Ўг¤Ґв
ЇаЁ­пв Ў«®Є, ­ ЇаЁ¬Ґа, Ї®в®¬г, зв® Їа®Ја ¬¬  ­  ¤агЈ®© бв ­жЁЁ ­Ґ
ўл§лў «  ®ЇҐа жЁо ЇҐаҐ¤ зЁ Ў«®Є , в® ®ЇҐа жЁп ЇаЁҐ¬ 
§ Є ­зЁў Ґвбп Ї® ЁбвҐзҐ­Ёо ўаҐ¬Ґ­Ё ®¦Ё¤ ­Ёп б® бЇҐжЁ «м­л¬ Є®¤®¬
®иЁЎЄЁ. Ќ® нв® ­Ґ ®Ї б­ п бЁвг жЁп, в.Є. Ў«®Є ­Ґ ЇаЁ­пв Ї®в®¬г,
зв® ®­ Ё ­Ґ ЇҐаҐ¤ ў «бп.

Ќ® Ґб«Ё ў вҐзҐ­ЁҐ в ©¬ гв  ®ЇҐа жЁп Send ­Ґ ᬮЈ«  ЇҐаҐ¤ вм
Ў«®Є, Ї®в®¬г зв® ­  ¤агЈ®© бв®а®­Ґ ­Ґ ўл§ў ­  ®ЇҐа жЁп Receive,
в® нв  ®ЇҐа жЁп Send § Є ­зЁў Ґвбп б в Є®© ®иЁЎЄ®©, зв® Ї®б«Ґ
нв®Ј® ¤ «м­Ґ©и п ЇҐаҐ¤ з  бв ­®ўЁвбп ­Ґў®§¬®¦­®©, в.Є. ­ аги Ґвбп
Їа®в®Є®« Є ­ «  (®зҐаҐ¤­®бвм ¤®бв ўЄЁ Ў«®Є®ў).
•®вп ўл§®ў ®ЇҐа жЁЁ Send Їа®Ја ¬¬®© ®¤­®© бв ­жЁЁ ¬®¦Ґв Ўлвм
⥯Ґам Їа®Ё§ўҐ¤Ґ­ згвм а ­миҐ, 祬 ўл§®ў ®ЇҐа жЁЁ Receive
Їа®Ја ¬¬®© ¤агЈ®© бв ­жЁЁ.

‘вагЄвга  Їа®Ја ¬¬л, ®бгйҐбвў«по饩 ®Ў¬Ґ­ Ї® ва ­бЇ®ав­®¬г
Є ­ «г, ¬®¦Ґв ўлЈ«п¤Ґвм б«Ґ¤гойЁ¬ ®Ўа §®¬:

Flag := 0;
AddName;
While Flag = 0 Do ; {¤®Ў ў«Ґ­ЁҐ Ё¬Ґ­Ё § ўҐа襭®}
Flag := 0;
Listen; {¤«п бҐаўҐа , § Јаг¦ Ґ¬®Ј® ЇҐаўл¬}
Call; {¤«п Є«ЁҐ­в , § Јаг¦ Ґ¬®Ј® ўв®ал¬}

While Flag = 0 Do ; {ᮧ¤ ­ЁҐ Є ­ «  § ўҐа襭®}
Flag := 0;
Receive;
While True Do Begin

If Flag = 1 Then Begin {ЇаЁҐ¬ § ўҐа襭}
Flag := 0;
<
Ђ­ «Ё§ в®Ј®, зв® ЇаЁ­пв®;
>
Receive; {б­®ў  ­ з вм ЇаЁҐ¬}
End {If};
<
„агЈЁҐ ¤Ґ©бвўЁп Ї®  «Ј®аЁв¬г ЇаЁ«®¦Ґ­Ёп;
>
If KeyPressed Then Begin {ЇаЁ¬Ґа ЇҐаҐ¤ зЁ Ё}
‘h := ReadKey; {§ ўҐа襭Ёп а Ў®вл}
Case Ch Of
's' : Send;
#27 : Break;
Else
End {Case};
End {If};
End {While};
Flag := 0;
HangUp;
While Flag = 0 Do ; {§ ЄалвЁҐ Є ­ «  § ўҐа襭®}

Flag := 0;
DeleteName;
While Flag = 0 Do ; {г¤ «Ґ­ЁҐ Ё¬Ґ­Ё § ўҐа襭®}

Љ ЇаЁўҐ¤Ґ­­л¬ Їа®Ја ¬¬ ¬ б«Ґ¤гҐв ®в­®бЁвмбп Є Є Є
да Ј¬Ґ­в ¬. ‚ ­Ёе ­Ґ гзЁвлў овбп ­ҐЄ®в®алҐ в®­Є®бвЁ, ­ ЇаЁ¬Ґа,
Ї®ЇлвЄ  ўлЇ®«­Ёвм ®ЇҐа жЁо б NCB, ¤«п Є®в®а®Ј® ­Ґ § ўҐа襭 
ЇаҐ¤л¤гй п ®ЇҐа жЁп, ЇаЁўҐ¤Ґв Є ®иЁЎЄҐ.

’Ґ¬ ­Ґ ¬Ґ­ҐҐ, ¬л а бᬮв५Ё ў®Їа®бл Є®¬¬г­ЁЄ жЁ© ­  бҐвҐў®¬
Ё ва ­бЇ®ав­®¬ га®ў­пе, ᤥ« ў  ЄжҐ­в ­  Їа®Ў«Ґ¬Ґ бЁ­еа®­Ё§ жЁЁ
Їа®Ја ¬¬.

„ «ҐҐ а бᬮваЁ¬ Є®¬¬г­ЁЄ жЁЁ ­  Ў®«ҐҐ ўлб®ЄЁе га®ў­пе
¬®¤Ґ«Ё OSI.

Њ®¤Ґ«Ё, а бᬮв७­лҐ ­ ¬Ё ў Ї®¤а §¤Ґ«Ґ 3.10 ў Є зҐб⢥
ЇаЁ¬ЁвЁў®ў п¤а , ¬®Ј«Ё Ўл Ўлвм а бᬮваҐ­л ­ ¬Ё ў ¤ ­­®¬
Ї®¤а §¤Ґ«Ґ ў Є зҐб⢥ б।бвў Є®¬¬г­ЁЄ жЁ© ­  га®ў­пе, Ў®«ҐҐ
ўлб®ЄЁе, 祬 ва ­бЇ®ав­л©.

Ќ® в Є Є Є ®­Ё 㦥 а бᬮваҐ­л ­ ¬Ё, в® §¤Ґбм ¬л
Ї®§­ Є®¬Ё¬бп ­Ґ б ¬®¤Ґ«п¬Ё ®Ў¬Ґ­  ¤ ­­ле ¬Ґ¦¤г Їа®жҐбб ¬Ё,   б®
бЇ®б®Ў ¬Ё ®Ў¬Ґ­  ¤ ­­л¬Ё ¬Ґ¦¤г ЇаЁ«®¦Ґ­Ёп¬Ё ў ॠ«м­ле
®ЇҐа жЁ®­­ле б। е.
Љ в ЄЁ¬ бЇ®б®Ў ¬ ®в­ҐбҐ¬ б«Ґ¤гойЁҐ:
- ®Ў¬Ґ­ ¤ ­­л¬Ё зҐаҐ§ Clipboard;
- ®Ў¬Ґ­ ¤ ­­л¬Ё Ї®б।бвў ¬ DDE вҐе­®«®ЈЁЁ;
- ®Ў¬Ґ­ ¤ ­­л¬Ё Ї®б।бвў ¬ OLE вҐе­®«®ЈЁЁ.
Соседние файлы в папке Операционные среды АСОИУ