A.16 Uzi la reton kun XLogo

A.16.1 La reto: kiel ĝi funkcias?

Antaŭ ĉio, en ĉi tiu enkonduko, necesas klarigi kelkajn konceptojn por bone kompreni la uzadon de la primitivoj.


PIC

Figuro A.5: Nocio de reto


Du komputiloj povas komuniki tra la reto se ili havas retkarton (ethernet) aŭ similan rimedon. Al ĉiu komputilo oni donas personan adreson: ĝia adreso IP. Tiu adreso IP konsistas el 4 entjeroj inter 0 kaj 255, disigitaj de punktoj. Ekzemple, l’ adreso IP de la unua komputilo en la antaŭa skemo estas 192.168.1.1.

Ĉar ne facilas memori tiajn adresojn, eblas ankaŭ rilatigi al ĉiu adreso IP nomon pli kutiman pli facile memoreblan. Sur la antaŭa skemo, oni povas adresi sin al la dekstra komputilo jen vokante ĝin per ĝia IP-adreso 192.168.1.2, jen vokante ĝin per ĝia nomo tortue.

Mi ne parolos pli pri la signifojn de tiuj nombroj. Mi aldonos nur ion bonan por scii: la loka komputilo sur kiu oni laboras havas ĉiam specifan IP-adreson, 127.0.0.1 (krom eble alia aŭ aliaj IP-adresojn); ĝi havas specifan nomon, ofte localhost (krom eble alia aŭ aliaj nomoj).

A.16.2 Porretaj primitivoj

XLogo havas 4 primitivojn ebligantajn komuniki per reto: tcp_aŭskultu, ekzekucutcp, diskutilotcp kaj sendutcp. Por la sekvaj ekzemploj konsideru ĉiam la okazo de la du komputiloj de la antaŭa skemo.

tcp_aŭskultu, tcp_auskultu, tcp_awskultu, tcp_auxskultu


Ĝi estas la bazo de ĉiu retkomunikado. Ĝi ekspektas neniun argumenton. Ĝi ebligas ke komputilo rulanta ĝin aŭskultu ordonojn donitajn de aliaj komputiloj en la sama reto.

ekzekucutcp vor1 listo2


Tiu primitivo ebligas ruli instrukciojn sur iu komputilo en la reto.

vor1 indikas la IP-adreson aŭ la nomon de la vokata komputilo, listo2 enhavas la rulotajn instrukciojn.

Ekzemple: Mi estas sur la komputilo lievre, mi deziras grafiki kvadraton kun latero 100 sur l’ alia komputilo. Tial, necesas ke sur la komputilo tortue mi rulu la ordonon tcp_aŭskultu; poste, sur la komputilo lievre, mi rulu:

ekzekucutcp "192.168.1.2 [ripetu 4 [an 100 dn 90]]

ou

exekucutcp "tortue [ripetu 4 [an 100 dn 90]]

diskutilotcp vor1 listo2


Ĝi ebligas dialogi inter du komputiloj de la reto, afiŝante fenestron ebligantan la interparolon.

vor1 indikas la IP-adreson aŭ la nomon de la vokita komputilo, listo2 enhavas la frazon afiŝotan.

Ekzemple: lievre volas diskuti kun tortue.

tortue rulu tcp_aŭskultu por meti sin en atendon de peto far komputiloj en la reto. lievre rulu tiam: diskutilotcp "192.168.1.2 [saluton].

Du fenestroj ebligantajn la dialogon malfermiĝas tiam sur ĉiu komputilo.

sendutcp vor1 listo2


Sendu datumojn al komputilo de la reto, poste donu la respondon de la alia komputilo.

vor1 indikas la IP-adreson aŭ la nomon de la komputilo vokata, listo2 enhavas la datumojn sendotajn. Se la komunikado fariĝos kun alia komputilo kie XLOGO ruliĝas, tiu komputilo respondos OK post fini l’ operacion. Eblas ankaŭ dialogi kun roboto havanta retan interfacon, sed la respondo povos esti malsama tiam.

Ekzemple:

tortue volas sendi al lievre la sinsekvon “3.14159 preskaŭ la nombro pi”.

lievre rulu tcp_aŭskultu por atendi peton far komputiloj de la reto. tortue rulu tiam: skribu sendutcp "lievre [3.14159 preskaŭ la nombro pi].

Jen konsileto: Ekrulu du fojojn XLogo sur la sama komputilo.

Vi tiel movis la testudon sur l’ alian fenestron!