Professional Documents
Culture Documents
Upravljanje Na Daljinu
Upravljanje Na Daljinu
Diplomski rad
1. član komisije
_______________________________
2. član komisije
____________________________________
1. UVOD
1
Projekat je pisan u VisualBasic-u višem programskom jeziku.VB je objekno
orijentisan programski jezik namenjen da manipuliše bazama podataka korišćenjem
ADO OLE I SQL-a , razvijanje internet aplikacija , API programiranje.
-API (Application Programming Interface ) je set ugradjenih biblioteka kodova.
Koristi dinamičko povezivanje po metodi pozivanja odredjene funkcije iz biblioteke
funkcija DLL(Dynamic Linked Library i to samo u momentu kada je odredjena
funkcija pozvana.Prednosti API jesu to što funkcija zauzima memoriju samo dok se
izvršava.Da bi bilo koja VB aplikacija radila na računaru neophodno je pokrenuti
instalacioni paket VBRUN6.0.exe koju u system direktorijumu instalira odredjene
biblioteke funkcija(dll).
U projektu je korišćena socket kontrola (winsock.ocx) na više portova.Cilj
teme rada je prikaz konkretnih klijent-server fukcija od ostvarivanja konekcije do
složenijih funkcija.Na dovitljiv način možemo uspostaviti potpunu kontrolu nad
udaljenim računaru uz ne mnogo poznavanja sistemskog programiranja i nižih
programskih jezika.
Program se sastoji iz dva glavna dela. Svaki deo se sastoji iz dva dela tj. dva
izvršna fajla(Ekstenzija izvršnog fajla – ExE). Mnogi problemi mogu se rešiti na više
načina a odabir rešenja nemora uvek biti suviše rigorozan.Slede problemi na koje sam
nailazio usled izgradnje projekta koji bi trebao da ostvari kontrolu udaljenog racunara
preko slike (poznatiji kao Remote desktop).
Program omogućuje u jednoj LAN mreži server računaru ulogu nadzorskog
računara jer mu omogućuje prikaz celog ekrana i kontrolu klijent računara.Prikazuje i
trenutno pokrenute servise na udaljenoj mašini, omogućuje promenu klijent opcija
kao što su autorun.Moj deo posla bio je povezivanje više primera (source code) u
jednu celinu koja omogućuje sve navedene zahteve tako da nije ceo kod programa
detaljno opisan ali se analizom algoritma može puno naučiti.
Polazni zahtevi :
2
MainServer.exe obezbedjuje prikaz slika konektovanih klijent računara ,
opciju za chat (obraćanje klijent računaru slanjem teksta) , prikaz otkucaja tastature
po zahtevu.
2. OSNOVNI POJMOVI
3
2.1 Prenos podataka
Modemi (dialup)
Iznajmljene linije
Frame relay
4
Ethernet umrežavanje
HomePNA
HomePlug
5
Bežicni prenos podataka :
Kratki domet
Srednji domet
IEEE 802.11
Dugi domet
Satelit:
MMDS
SMDS
6
Prenos preko mobilnih telefona :
GSM
Aplikacioni (application
Prezentacioni(presentation
Sesioni (session)
Transportni
Mrezni sloj (network)
Data Link layer
Fizicki sloj (physical)
7
Podela OSI systema (Gornji slojevi su namenjeni korisničkim servisima dok su
fizički , sloj podataka, mrežni sloj zaduženi za obezbede mrežnu komunikaciju.
Transportni je prelazni sloj.)
8
2.1.2 Topologija mreža
· fizički raspored
· projekat
· dijagram
· mapa
Mrežna topologija podrazumeva niz uslova, od nje zavisi npr. Ne samo tip
kablova koji će se koristiti već i način postavljanja kroz pod, zid ili plafon. Od
topologije zavisi kako racunari medjusobno komuniciraju u mreži, različite topologije
zahtevaju drugačije metode komunikacije, a metod komunikacije ima veliki uticaj na
mrežu.
Klasične topologije
· magistrale
9
· zvezde
· prstena .
10
Svi su ravnopravi i dele podatke izmedu sebe. Postoje i posebni programi za
deljenje podataka u P2P mrežama, to su obično programi za deljenje audio i video
sadržaja. Ako korisnik postavi upit, program pretražuje podatak pod tim imenom kod
ostalih korisnika povezanih na P2P mrežu. To je mnogo slobodnije nego kod klijent-
server mreža, gde korisnik pretražuje sadržaj samo jednog računara, odnosno servera.
Kod P2P mreža, korisnik pretražuje sadržaj svih učesnika u mreži.[1]
Nedostaci: P2P mreze su skoro uvek jednostavnije i jeftinije od C/S sistema, ali
otvaraju brojna pitanja u pogledu PERFORMANSI i SIGURNOSTI MREŽE.
Umrežavanje računara možemo izvesti pomoću žica ili bez žica. Najviše
korišteni žičani načini umrežavanja su requeste umrežavanje, te umrežavanje pomoću
telefonskih i električnih instalacija. Za bežično umrežavanje se najviše koristi WiFi
standard.
Bežično (en. Wireless) umrežavanje je verovatno najjednostavniji način
umrežavanja, nudi srednju brzinu, ne zahteva dodatne kablove, ali je i relativno
skuplji od ostalih načina umrežavanja, iako cena WiFi uredaja konstantno pada.
Bežično umrežavanje je najjednjostavnije uz WiFi tehnologiju, gde nam je samo
potrebna WiFi kartica (interna (PCI i PCMCIA) ili spoljna (USB)) u dva ili više
računara da bi se isti umrežili. Obično u kartice dode integrisana antena koja je
dovoljna za manje mreže, no moguće je koristiti i bolje, spoljne antene koje
pojačavaju signal. Za priključivanje na neku mrežu potreban je tzv. Hotspot, odnosno
čvorište na koji se spajaju svi ostali korisnici. Ako je mreža osigurana ona će tražiti
WEP ili noviji WPA (2) ključ, a ako je slobodna onda nema nikakvih ograničenja za
spajanje.
Svako može biti hotspot, jedino umesto obične kartice je potrebno kupiti
Wireless Acces Point koji nudi pokrivenost od oko 30 metara, dok je uz razne
pojačavače moguće bitno proširiti pokrivenost. Najskuplja varijanta, ali ona najbolja,
je uzeti Wireless Access Point Router koji sadrži priključak za DSL modem, Router,
Ethernet Hub, Firewall i Access Point. Uz sve to moguće na samo taj uredaj prikljuciti
jednu Ethernet mrežu na koju ce biti priključeni korisnici sa WiFi karticama, te svi
zajedno imati pristup internetu putem DSL modema.Problem kod bežicnih WiFi
mreža je što mogu biti nesigurne, pogotovu starije mreže sa WEP proverom koja je
nesigurnija od WPA i WPA 2 enkripcije podataka. Osim toga WiFi uredaji troše malo
više struje od standardnih uredaja za računarske mreže.
11
2.2 File server ternimal(UNIX) I poredjenje sa klijent server
arhiktekturom
U slučaju prestanka rada host-a nijedan korisnik ne može više raditi niti
komunicirati.
U suštini to i nije mrežna komunikacija već se ista ostvaruje kad su dva ili
više host-ova medjusobno vezani, no ništa se bitno ne menja u odnosu korisnik-
računar. PC računar u tu svrhu dizajniranom programskom potporom, može
funkcionisati kao terminal. Tipična takva veza je kad se PC poveže na BBS sastav
informacija i komunikacija, koji još omogućava transfer podataka (kopiranje).
12
Šema je slična ali je način funkcionisanja potpuno različit. Radna postava sa
vlastitom programskom potporom koja iz memorije poslužitelja poziva (podatke-
datoteku) u svoju radnu memoriju, samostalno obradjuje podatke i po obradi vraća ih
poslužitelju gde se čuvaju i na raspolaganju su svim korisnicima mreže. Periferije
pojedinih računara (kao štampač ili CD ROM) mogu se proglasiti kao zajednički-
deljivi (SHARE) mrežni resursi.Poslužitelj može podržavati izvršavanje aplikacija
(application server) ili preuzeti na sebe deo zadataka u obradi baza podataka
(poslužitelj baza podataka – database server).Ako se isključi poslužitelj klijent ce
samostalno i dalje raditi, ali ne može koristiti zajednicke mrežne resurse.
13
2.2.4 Web Aplikacioni Server
2.3 Klijent-server
Kiljent server
14
2.4 Mrežni protokoli
● Bluetooth ● ARCNET
• Ethernet ● AppleTalk
• FDDI ● ATM
• IEEE 1394 (FireWire, iLink) ● DECnet
• Frame relay ● HIPPI
• IEEE 802.11 ● IEEE-488
• IPX ● Myrinet
• Point-to-Point ● QsNet
• TCP/IP ● SPX
• TCP ● System Network Architecture
• Token Ring ● X.25
15
Internet Protocol (IP) je protokol za komunikaciju između izvora i korisnika
preko Internet mreže. Podaci preko IP-a se šalju u paketima i to samo između routera,
a između svičeva (switch) u frame-ovima.
Internet protokol je nepouzdan, jer ne osigurava da će paket podataka biti u
ispravnom stanju ili, u najgorem slučaju, hoće li uopste doći.
Svaki uređaj na mreži se identificira pomoću IP adrese. IP adresa se prema
trenutno važećem Ipv4 protokolu sastoji od 32 bita. Često se ova 32 bita označavaju
sa četiri decimalna broja podeljena tačkama, npr. 192.168.1.21. IP adresa ima dva
dela: mrežni prefix koji identificira mrežu i broj hosta koji određuje pojedini uređaj na
mreži. U zavisnosti od mrežnog prefixa, mreže se dele u pet klasa: A, B, C, D i E. U
upotrebi su prve tri klase koje se međusobno razlikuju prema broju hostova koje
mogu imati i opsegu adresa na osnovu koji se utvrđuje veličina mrežnog prefixa.
Mreže koje operiraju na ovim protokolima definišu one koji im pristupaju
preko specifičnih adresa Internet protokola, popularno nazvanim IP adrese. IP
adresama se jasno definiše položaj i identifikacija korisnika i kompanije koja pruža
usluge ostarivanja konekcije, ne čitavom Internet-u.[1]
5. Aplikacijski sloj
DNS je u stvari jedna baza podataka u kojoj su upisana sva imena i odgovarajuće Ip
adrese pojedinih računara, te skupina funkcija koje omogućavaju prevođenje istih.
Treba naglasiti da npr. celi Internet, koji je takođe jedna velika mreža, koristi DNS
mehanizam.
POP3 - Server za dolaznu email postu.( tip adrese servera pop3.mail.yahoo.com npr.)
16
server i na njemu izvršava neke operacije. Taj server, koji još nazivamo i udaljeni
računar, uglavnom radi pomoću nekog od UNIX operativnih sistema.
4. Prenosni sloj
TCP -je protokol za kontrolu prenosa podatka, takođe je deo TCP/IP-a (Transmission
Control Protocol/Internet Protocol) koji je deo svakog računarskog sistema
3. Mrežni sloj
IP (Ipv4 i Ipv6)
IP protokol verzija 6, ili kraće IPv6 je relativno nova verzija IP protokola koja
pretenduje da postane slijedeća standardna verzija komunikacijskog protokola na
Internetu. Trenutno najraširenija verzija je IP verzija 4, ili kraće IPv4. Pojedine verzije
IP protokola se razlikuju po načinu adresiranja, izgledu zaglavlja paketa ali i brojnim
drugim detaljima. Najvažnija karakteristika IPv6 protokola je da koristi 128-bitnu IP
adresu, tj. propisana dužina svake IP adrese u ovoj verziji protokola je 128 bita.
2. Sloj veze
FDDI - Fiber Distributed Data Interface je skup ANSI protokola za slanje digitalnih
podataka preko optičkog kabla. FDDI mreže su token mreže te podržavaju brzine do
100 Mbps. FDDI mreže su obično osnova WAN mreža.
PPP • Point-to-Point Protocol (PPP) služi za ostvarivanje direktne veze između dva
čvora. Najčešči slučaj je priključivanje računara pomoću serijskog kabla, telefonske
linije, optičkih vlakana ili UTP mrežnih kablova. Većina Internet kompanija koriste
PPP za dial-up pristup internetu. Također je moguć PPP preko Etherneta (PPPoE),
povezujući neki DSL modem sa računarom preko mrežne kartice što je mnogo brže
nego povezivanje sa USB ili nekom drugom sabirnicom. PPP je dizajniran da radi sa
protokolima trećeg sloja OSI referentnog modela.
17
1.Fizički sloj
USB - Universal Serial Bus (USB) je vanjska sabirnica (priključak) za razne uređaje
kao što su printer, miš, tastatura, digitalna kamera, modem. Pojavio se 1996. godine, a
zaživio tek 1998. Karakteriše ga visoka brzina, te jednostavnost instaliranja uređaja,
pogotovu sa novijim verzijama operativnih sistema (Plug & Play princip).USB 1.1
standard je stari standard (iako se još koristi) koji ima brzinu od 12Mbps (megabit po
sekundi, 1 Bajt = 8 Bita), a USB 2.0 standard, koji se pojavio 2000. godine, podnosi
brzine do 480Mbps koji je već u dobroj meri zamenio USB 1.1 standard, ali i serijske
i paralelne priključke.
2.7 Softver
18
2.8 Veza sa hardverom
Softver ne može raditi bez hardvera, kao što hardver ne može raditi bez
softvera. Na hardveru (kao što je hard disk) se nalazi softver (kao što je operativni
sistem), softver upravlja hardverom. Obično, softver sa hard diska se učitava na RAM
memoriju odakle se prosleđuje procesoru koji izvšrava naredbe koje sadrži neki
program (softver). Najniži nivo softvera je mašinski kod (binarni kod),
najjednostavniji oblik programa koji je obično teško promeniti.
Softver se zato češće piše u programskim jezicima višeg nivoa koje ljudi
mnogo bolje razumeju nego li nule i jedinice. Za prevođenje programskih naredbi se
koristi kompajler koji ponovo prevodi taj kod u, najniži, mašinski kod koji računar
razumije (nule i jedinice).
Računarski softver se dijeli na tri glavne grane: sistemski softver, izvršni
softver, programski softver.
Sistemski softver pokreće računar. To može biti operativni sistem, drajver,
server, razni alati i ostalo. Operativni sistem dobija pravo da upravlja celokupnim
računarom, podacima, procesima itd. Najpoznatiji operativni sistemi su Microsoft
Windows, Linux i Mac OS X.
Izvršni softver omogućava korisniku da izvršava određene zadatke. To može
biti poslovni softver, edukacijski softver, baza podataka, office paketi i ostalo.
Programski softver je obično alat koji pomaže nekom programeru da izvrši
neki zadatak koristeći neki programski jezik. To može biti uređivač teksta, kompajler,
interpreter, linker, debugger i tako dalje. U računarskoj grafici se koristi termin
grafički softver, koji je specijaliziran za rad sa grafikom. [2]
3.1 Opšte
19
Pored toga, klijent može zahtevati usluge i od više servera iz okruženja bez
obzira na njihove lokacije ili fizičke karakteristike računara na kojima se nalaze server
procesi. Mreža služi da poveže servere i klijente zajedno obezbeđujući medijum kroz
koji klijenti i serveri komuniciraju.[2]
20
Za aplikacije klijenata je bolje da se izvršavaju na slabijim računarima sa
minimalnim kapacitetom diskova i minimalnom memorijom, ali sa velikim
multimedijalnim mogućnostima. U klijent/server arhitekturi se mogu naći različiti
tipovi računara, kao što su PC, PowerPC, RISC radne stanice, miniračunari pa čak i
mainframe. Svaki od ovih računara može imati i svoj operativni system.
Sistem zasnovan na klijent/server modelu je veoma fleksibilan i otvoren za sve
vrste izmena hardvera i softvera. Na primer, server se može zameniti novim bez
izmene funkcionalnosti aplikacija klijenata.
Proširivanje sistema se može obaviti veoma lako. Novi korisnici se mogu lako
priključiti na mrežu sa novim radnim stanicama.
Jedna od prednosti klijent/server sistema je i njegovo korišćenje radi lakšeg
razvoja pojedinih delova sistema. Na primer, prilikom razvoja aplikacije za klijenta
sistem se bavi samo načinom analize i predstavljanja podataka, dok je upravljanje
podacima prepušteno serveru i taj deo aplikacije ne mora ponovo da se piše.[2]
● Klijent je bilo koji računarski sistem koji zahteva usluge od servera. Klijent,
poznat još i kao čeona aplikacija, odražava činjenicu da je krajnji korisnik obično u
sistem sa klijent procesom. Server je bilo koji računarski sistem koji čeka na zahteve
od klijenata i obezbeđuje potrebne usluge za klijente shodno pristiglim zahtevima.
Poznat je i kao pozadinska aplikacija.
● Komunikacioni posrednik je bilo koji računarski sistem čijim posredstvom
komuniciraju klijent i server. Sastavljen je od nekoliko softverskih nivoa koji pomažu
pri prenosu podataka i upravljačkih informacija između klijenta i servera.
Komunikacioni posrednik je obično povezan sa mrežom.
● Zahtevi i odgovori servera putuju kroz mrežu u obliku poruka koje se sastoje
od informacija za kontrolu prenosa podataka. Za ilustraciju interakcije komponenata
može da posluži primer kada klijent zahteva servise od procesa baze podataka.
Izvršenje aplikacije je razdvojeno na dve glavne i nezavisne komponente, klijent i
server, a komunikacioni posrednik omogućava klijent i server procesima da rade
zajedno.Najpre klijent 21equest šalje zahtev do komunikacionog posrednika.
Komunikacioni posrednik prosleđuje SQL zahtev do server procesa za baze podataka
koji prima zahtev, potvrđuje ga i izvršava. Potom server šalje selektovane podatke
komunikacionom posredniku koji ih prosleđuje i formatira za klijent sistem, a ovaj
prima podatke i prikazuje ih korisniku. Klijent sistem je odgovoran za interfejs
krajnjeg korisnika, neku proveru lokalnih podataka, neku obradnu logiku i prikaz
podataka.
Komunikacioni posrednik obezbeđuje da poruke između klijenta i servera
ispravno putuju kroz mrežu i stignu na svoje odredište. Obrada SQL zahteva se vrši na
serveru. Server request potvrđuje izvršavanje zahteva i šalje rezultat klijentu.
Komponente klijent/server arhitekture moraju se povinovati nekim osnovnim
principima kako bi međusobno delovale ispravno. Ovi principi moraju biti
jednoznačno upotrebljivi u komponentama klijenta, servera i komunikacionog
posrednika. Principi koji moraju biti ispunjeni su:
21
● Hardverska nezavisnost. Procesi klijenta, servera i komunikacionog
posrednika treba da imaju mogućnost izvršavanja na različitim hardverskim
platformama (IBM, DEC, Apple itd.) bez ikakve funkcionalne razlike.
● Potrebno je da procesi budu takvi da mogu biti lako i što bolje izvršeni na
više snažnih hardverskih platformi. Potrebno je još da bude ispunjen i uslov
prenosivosti softvera između različitih mašina bez potrebe da se interveniše na
izvornom kodu, već je potrebno samo izvršiti prevođenje i povezivanje kako bi
softver odmah moga da se upotrebi.
22
3.5. Funkcije klijent server
3.5.1 Klijent
Klijent je bilo koji sistem koji zahteva usluge od serverovog procesa. Klijent
započinje konverzaciju sa serverom. Klijent sadrži hardverske i softverske
komponente i poželjno je da one poseduju sledeće karakteristike:
Hardver klijenta je obično stoni računar (PC ili radna stanica, a u poslednje
vreme se koristi i X-terminal koji jedan de potrebnog klijent/server softvera drži u
ROM-u, a ostatak se puni u RAM memoriju sa servera preko mreže).
Klijent bi trebalo da poseduje operativni sistem sa nešto malo multitasking
mogućnostima. Kombinacija DOS/Windows ili Windows 95 su trenutno
najkorišćenije klijent platforme. Mad DOS ima jaka ograničenja u pogledu memorije i
podrške multitaskinga, Windows 3.1 obezbeđuje primitivne multitasking osobine i
GUI. Windows 95 kao samostalan operativni sistem podržava multitasking i sve više
zamenjuje DOS/Windows kombinaciju.
Ove osobine kao i mnoštvo razvijenih aplikacija za ove operativne sisteme
čine ih vrlo pogodnim za klijent/server implementaciju.
Kombinacija hardvera i operativnog sistema mora obezbediti adekvatno
povezivanje sa raznim mrežnim operativnim sistemima. Servisi mogu biti raspoređeni
na različitim mrežama i klijent računari moraju biti sposobni da pristupe svim tim
servisima. Zbog toga, bez obzira na popularnost DOS/Windows kombinacije i
Windows-a 95, kao bolja rečenja za klijent operativne sisteme se javljaju Windows
NT, OS/2, Unix.
Klijent aplikacija se startuje pod nekim operativnim sistemom i povezuje se sa
komunikacionim posrednikom radi pristupa slobodnim servisima na mreži i ove
aplikacije su uglavnom zasnovane na grafičkom korisničkom interfejsu sa namerom
da se sakrije kompleksnost od krajnjeg korisnika. Klijent aplikacija interaguje sa
operativnim sistemom radi korišćenja multitaskinga i grafičkog korisničkog interfejsa
koje on obezbeđuje. Ona još intereaguje i sa mrežnom softverskom komponentom
komunikacionog posrednika radi pristupa servisima. Hardverska komponenta
komunikacionog posrednika (mrežna kartica i mrežni kabl) fizički transportuje
zahteve i odgovore na zahteve između klijenta i servera. Dok se zahtev izvršava na
serveru, klijent je slobodan da izvršava druge poslove.[2]
3.5.2 Server
23
Kada klijent zahteva podatke iz neke datoteke, File server mu prosleđuje celu
datoteku koju klijent dalje pretražuje i obrađuje.
● Print servisi, koji se obezbeđuju tako što se jedan ili više štampača povežu
preko nekog računara sa klijentima. Klijent može pristupiti bilo kom štampaču kao da
je direktno povezan sa njim. On šalje serveru podatke koje treba odštampati, podaci se
privremeno smeštaju na disk servera odakle se potom šalju na odgovarajući štampač.
● Faks servisi, pri čemu je najmanje jedan server opremljen (internim ili
eksternim) faks uređajem. Klijent ne mora imati faks ili čak ni telefonsku liniju, već
on predaje faks serveru podatke koje treba poslati zajedno sa imformacijom kome ih
treba poslati, a server sam obavlja prenos podataka faksom.
● Komunikacioni servisi dozvoljavaju klijentima koji su povezani na
komunikacioni server, da pristupe drugim host računarima ili serverima za koje nisu
direktno povezani.
● Serveri baza podataka čine najširu i dosta uspešnu klijent/server
implementaciju. U ovom slučaju klijent šalje SQL zahtev serveru; server prima
zahtev, potvrđuje ga, izvršav i šalje rezultat klijentu. Podaci i softver za upravljanje
podacima se nalaze na serveru baze podataka. Od klijenta se zahteva
●Samo da ima čeonu aplikaciju za pristup serveru baze podataka. Transakcioni
servisi se sastoje od baze podataka, sistema za upravljanje bazom podataka (DBMS –
DataBase Managment System) i procedura za manipulaciju podacima. Čeona
aplikacija na klijentu šalj zahteve transakcionom serveru na kome se izvršavaju
specijalne procedure koje koje su instalirane na njemu. SQL kod ne putuje kroz mrežu
čime je redukovan mrežni saobraćaj pa ovaj server ima bolje performanse od servera
baze podataka.
● Raznovrsni servisi koji uključuju CD-ROM, video i dr.
24
server procesi i mrežni operativni sistem jer u tom slučaju server računar se
rasterećuje za izvršavanje zahteve koji do njega stižu preko nekog mrežnog računara
koji sada preuzima obavezu da zahteve prosledi do servera.
Server aplikacija se startuje pod operativnim sistemom i interaguje sa komponentom
komunikacionog posrednika radi osluškivanja klijent zahteva za servisima. Ova
aplikacija ne mora biti zasnovana na grafičkom korisničkom interfeju. Kada zahtev
bude primljen, server procesi ga lokalizuju (određuju adresa klijenta koji je poslao
zahtev). Server zna kako treba da obradi zahtev tako da mu klijent saopštava samo šta,
a ne i kako treba uraditi. Kada se obradi zahtev, odgovor se šalje klijentu preko
komunikacionog posrednika.
Jedan računarski sistem može biti jasno podeljen na klijent i server
komponente. Za server procese postooje sledeći principi:
● Lokaciona nezavisnost, što znači da server request može biti smešten bilo gde
u mreži.
● Optimizacija resursa – server sistem mogu deliti više klijenata.
● Skalabilnost, što znači da server sistem može biti startovan na više snažnih
platformi.
● Server procesi bi trebalo da rade u plug-and-play okruženju.[2]
25
dovoljno govori o pravcu u kome će se distribuirano Java programiranje razvijati.
Zato ćemo na jednostavnom primeru pokazati jednostavnost komunikacije Java
programa sa bazom podataka.[2]
26
Troslojna Klijent server struktura[5]
Asp
Jedan od protokola koji su namenjeni da unaprede interfejs ka reques kodu je
Active Server Pages (ASP). To je standardna HTML strana sa reques kodom
ugradenim (requeste) u sam requeste. Projekat može da koristi ugradjeni kod da bi
imlpementirao obradu podataka zajedno sa HTML stranom. Nadalje, on može
pomoću reques koda da pristupi eksternim delovima aplikacije ili da se poveže
direktno sa bazom podataka. Kada browser zatraži ASP ugradeni reques se izvrši od
strane scripting engine na serveru i rezultati se dinamički kombinuju sa HTML pre
nego što se requeste vrati browser-u. Na raspolaganju su reques jezici Visual Basic
Script (VBScript), JavaScript (Jscript), REXX, PERL i mnogi drugi jezici. ASP nudi i
druga unapredjenja u odnosu na standardni CGI oblasti generisanja strane, održavanja
i unapredjenja performansi.
ActiveX Server Components Implementiranje klijent/server rešenja na Internet
predstavlja izazov sa kojim se obično ne sučeljavamo u tradicionalnijim klijent/server
okruženjima. Kada se instalira tradicionalna klijent/server aplikacija, zajedno sa njom
se instalira i sav prateći softver neophodan za njeno izvršavanje. To uključuje i softver
za podršku bazama podataka, bilo da je integrisan u aplikaciju ili da je isporučen kao
sistemski softver (npr. ODBC). Ovo nije uvek moguće u Web-zasnovanoj aplikaciji.
Različiti browser-i podržavaju različite kontrole, dok ih neki ne podržavaju uopšte. U
svakom slučaju veličina softvera koji podržava funkcionalnost kao što je pristup
bazama podataka čini download nepraktičnim. ActiveX Server Components je
projektovan da rešava ove probleme.
27
IIS 3.0 se isporučuje sa velikim brojem korisnih predefinisanih komponenti.
Mnogi programski alati su sposobni da grade ove komponente, kao što su: MS Visual
Basic, Delphi, PowerBuilder i drugi. Svaka ActiveX Server komponenta je dostupna
preko ASP skriptova. Ove komponente su ono što daje snagu ASP-u. Osnovne
komponente nude širok izbor usluga (servisa) piscu skripta, od administracije veza sa
korisnicima do pristupa bazama podataka. Mnoge od ovih funkcija bi bilo veoma
teško ostvariti u tradicionalnom okruženju; mogućnost da se lako referenciraju u
okviru HTML strane predstavlja veliku uštedu u vremenu razvoja. [5]
4.TCP/IP
3) Otvoren za development.
28
Arhitektalni model TCP/IP protokola je definisan preko *OSI* standarda.OSI je
skraćenica od Open Systems Interconnect Reference Model,i OSI obezbedjuje
osnovne reference u sferi protokola. On definise pravila ponašanja protokola. OSI
sadrži 7 slojeva (layers), koji definišu funkcije protokola. Svaki taj layer prikazuje
funkciju koja se izvršava kada se podaci premetaju tj transferuju izmedju aplikacija.
Layeri su naredjani jedan na drugog poput blokova i imaju izgled zida. Ovakva
struktura se naziva “Protocol Stack”.[3]
IP Protocol
bits 4 8 16 19 24 31
version Length Type of Total length
service
Indetification Flag Fragment Offset
time to live Protocol Header Checksum
SOURCE ADDRESS
D E S T I NATI O N ADDRESS
O PT I O N S
DATA
29
• Version – Verzija IP koja se trenutno koristi
• Lenght - Veličina headera
• ToS - Type of Service
• Total l,- Totalna veličina IP paketa.
• Identif.- Indetification, broj koji pomaže pri skupljanju datagram
fragmenata.
• Flag - 3-bit polje>prvi bit pokazuje dali paket moze biti fragmentovan
Drugi pokazuje dali je ovaj fragment poslednji fragment u seri-
ji,a treći bit se trenutno ne koristi.
• F ofsset- Fragment ofsset, lokacija fragmentovanih podataka.
• TTL - time to Live, brojač koji odbrojava do 0. Kada odborji do 0
paket se ispusta, bez njega bi paketi kružili neprestano.
• Protocol- Ukazuje da gornji requeste prima nadolazece pakete.
• H check.- Header checksum, brine se o integritetu paketa.
• Adress - Adrese pošaljioca i primaoca.
• Options – Opcije vezane za sigurnost.
IP HEADER IP DATA
DATA link HEADER Data link data Frame check segments
30
Dok računar nije na mreži poseduje LoopBack ip adresu i obično je 127.0.0.1
..Ona ima jednu zanimljivu ulogu u programiranju klijent server aplikacija a to je da
omogućuje komunikaciju izmedju klijent i server programa a da su i jedan i drugi
pokrenuti na istom računaru.Tako možemo vršiti verodostojnu proveru rada naše
aplikacije sa velikom uštedom vremena na jednom računaru.
Pored imena koja rešavaju problem indetifikacije treba postojati i jedan put
koji povezuje bolje rečeno auto put sa 65535 traka.Svaka traka predstavlja jedan port
koji je opisan kao broj. Neki nisu ili nisu uvek slobodni jer su rezervisani za
odredjene protokole.Svi portovi po pravilu imaju jednake osobine pa se mogu koristiti
proizvoljno.
TCP/ip TransferControlProtocol/InternetProtocol
Protocol port
Ftp – 21
Http – 80
telnet – 23
Netbios - 135
31
Server strana aplikacije :
‘ upisati u form_load ( U tom slučaju odmah po startovanju programa naš sock
čekaće konekcuji na zadatom portu.-To se može proveriti ukucavanjem u ms promtu
“netstat –an”).
SockServer.Close ‘ RESET neophodan prekid radi uspostavljanje
‘ ponovne konekcije , za prvu konekciju nije
‘ neophodan
sockServer.LocalPort = 111 ‘ Definisati na kom portu se uspostavlja
’ konekciju ovaj podatak je potreban klijent aplikaciji
32
Klijent strana aplikacije :
33
Primer 2 : Postavljanje miša u odredjenu poziciju na ekranu
‘ A u formi privatne
‘Izabraćemo private deklarisanje jednostavnije bez modula.
‘I onda nam ostaje samo da tu funkciju pozovemo.Recimo biće to jedno obično
‘CommandButton_Click dugme kad se klikne izvrsi se blok naredba .
postaviMISAu00 = SetCursorPos(0, 0)
End Sub
Kraj primera 2
34
5. Opis izvornog koda programa
35
5.2 Opis izvornog koda programa
Ako sock koji samo čeka podatak(što je slučaj sa našim sockom na 8866
portu kom su drukčije definisane podrutine za prijem podataka) treba detektovati
diskonekciju trebalo bi ugraditi nekakav vremenski tajming sa proveru koji nije tako
ni jednostavan i praktičan.Sada imamo sock koji se sa servera kao klijent konektuje za
sock koji osluškuje na klijent strain i takvih ima 8 (za osam racunara).Imaju ulogu da
pojedinačno svaki svoj računar prate tj. po diskonekciji sock prepoznaje da veza nije
više aktivna i korisnik se obaveštava.Imaju i dodatnu ulogu zahteva za slanje i prekid
slanja , chat deo i slanje otkucaja tastature( 12345 I 432 ).
36
Prikaz dela programa koji omogucuje slanje-primanje
slike i zahteva za slanjem ili prekidom slanja u obliku
pojednostavljene Blok seme.
Blok sema 1
37
Blok šema za uspostavljanje kontrole miš-a
38
Primer 1.
intSockCnt = intSockCnt + 1
Load sockMain(intSockCnt)
‘ Brojac, inkrementiranje i ucitavanje socket.index
sockMain(intSockCnt).Accept requestID
‘ Sock ima svoje index vrednosti
Text1.Text = sockMain(intSockCnt).RemoteHostIP
Exit Sub
‘ Kraj podrutine ConnectionRequest
End If
End If
39
Primer 2.
Option Explicit
Private Sub cmdConnect_Click()
' Zahtev za konekcijom
sockMain.RemotePort = txtPort.Text
' Port
sockMain.Connect
Exit Sub
nikiki:
End Sub
Me.Hide
‘ Sakriti formu
Form22.Show
Form2.Show
' Pokazati ili ucitati formu FORM22 i FORM2
' Uzima podatak o IP adresi server računara
' Unapred uneta u sadržaj serverIP.txt fajla
' ona se već pozove iz frmMain forme i tako obezbedi
' na vreme sve parametre za konekciju
txtHost.Text = frmMain.txtRemoteCon.Text
txtStatus.Text = ""
sockMain.RemoteHost = txtHost.Text
' sock prihvata IP adresu servera
End Sub
40
Private Sub sockMain_Close()
sockMain.Close
' Na prekid u slučaju pada glavnog servera
' Pokrenuti zahtev za konekcijom
Timer1.Enabled = True
End Sub
End Sub
ni:
End Sub
Primer 3.
41
Private Sub Timer4_Timer()
‘ Matematički deo algoritma – usaglašavanje koordinatnog sistema
‘ koji važi dok je miš na našoj formi i dok je van nje
’ ograničavajući dozvoljenu dužinu zapisa u tekst boksu
’ Obezbedjujemo slanje samo celobrojnih brojeva-zato što su
’ pozicione koordinate Xi Ydefinisane kao celobrojni ‘tip promenjive
’ INTEGER
Command10_Click
‘ Govori o kom dugmetu na mišu je reč – desno
End If
If Text4 = 1 Then
‘ Znaci da je pritisnuto levo dugme na misu I to jednom jer smo u
‘ dogadjaju CLICK
click.SendData "49"
‘ Slanjem broja 49 XYklijent prepoznaje momenat za pozivanje
’ dogadjaja klik levim dugmetom miša
End If
End Sub
42
Private Sub Command10_Click()
click.SendData "51"
‘ Mogli smo ovo odmah da napišemo kao i u slučaju sa levim
‘ klikom ali neki put nećemo uspeti da pošaljemo u dve linije
‘ koda dva podatka jedan za drugim jer se zahteva odredjeno
‘ vreme i onda dobijemo grešku a nemamo grešku u sintaksi
‘ programskog jezika…
Text1.Text = 0
End Sub
End Sub
Text1 = 0
End Sub
Text4 = Button
‘ Kad kliknemo i jos uvek držimo dugme izvrsice se samo
‘ MOUSEDOWN I to je dovoljno da znamo dal je u pitanju levo ili
‘ desno dugme
End Sub
xx = X
‘ Dodeljivanje vrednosti X I Y
yy = Y
End Sub
43
Primer 4.
Program : KlijenXY.exe
‘ Kont je ime kontrolnog socketa koji je zadužen za prepoznavanje
’ komandi miša upućenih od strane servera
End Sub
text2 = 0
Exit Sub
‘ Kraj podrutine
End If
text2 = 0
Exit Sub
End If
Timer1.Enabled = False
Form2.Hide
MsgBox " Racunar je slobodan . ", vbOKOnly
‘ Poruka
44
text2 = 0
End If
Timer1.Enabled = True
text2 = 0
MsgBox " *** Racunar je pod kontrolom ", vbOKOnly, "ProfesorServever 1.0 "
End If
End If
End Sub
45
6. ZAKLJUČAK
46
7. LITERATURA
[1] http://sl.wikipedia.org/wiki/TCP/IP
datum preuzimanja : 12.11.2007
[2] www.postfest.ptt.yu/savetovanje98/PavicevicVL98.html
datum preuzimanja : 12.11.2007
[3] http://www.phearless.org/i1/The_Art_of_Footprinting.txt
datum preuzimanja : 14.11.2007
[4] http://www.pcpress.co.yu/arhiva/tekst.asp
datum preuzimanja : 23.11.2007
[5] http://www.postfest.ptt.yu/savetovanje98/Babovic98.html
datum preuzimanja : 23.11.2007
47