Upload
mare-safradin
View
45
Download
1
Embed Size (px)
DESCRIPTION
PROGRAMIRANJE
Citation preview
Programiranje soketa
Vježbe br. 3
Uvod
Soketi su metod za kreiranje konekcije između procesa koji ne zavisi od protokola
Mogu biti konekcioni ili nekonekcioni – da li se uspostavlja konekcija prije komunikacije ili svaki paket opisuje destinaciju?
Uvod Sokete karakterišu njihova domena, tip i
transportni protokol Najčešće domene su: AF UNIX (format
adrese je kao kod UNIX-a) i AF INET (format adrese je host i broj porta)
Najčešći tipovi su: virtualni kanal (primljeni prema redoslijedu slanja i pouzdano) i datagram (proizvoljan redoslijed, nepouzdan)
Uvod
Svaki tip soketa ima jedan ili više protokola: npr. TCP (virtualni kanal) ili UDP (datagram)
Konekciono bazirani soketi komuniciraju po principu klijent-server (server čeka uspostavu konekcije od strane klijenta)
Nekonekcioni soketi su ravnopravni (peer-to-peer, svaki proces je simetričan)
Soket API socket: kreira soket date domene, tipa, protokola
(kupovina telefona) bind: dodjeljuje ime soketu (dobijanje telefonskog broja) listen: specificira broj konekcija na čekanju koje mogu
biti primljene u red čekanja na soketu servera (pozivi na čekanju)
accept: server prihvata zahtjev za uspostavom konekcije od strane klijenta (javljanje na telefon)
connect: klijent zahtjeva uspostavu konekcije sa serverom (poziv)
send, sendto: slanje podataka prema konekciji (govor) recv, recvfrom: primanje podataka od konekcije
(slušanje) shutdown: završetak konekcije (prekidanje razgovora)
Konekciono bazirana komunikacija na serveru socket: kreira soket bind: daje adresu soketa serveru listen: specificira maksimalni broj zahjteva za
konekcijom koji mogu biti na čekanju za dati proces
accept: uspostavlja konekciju sa specifičnim klijentom
send,recv: stream bazirani ekvivalenti čitanja i pisanja
shutdown: završetak čitanja ili pisanja close: otpuštanje podatkovnih struktura kernela
TCP klijent
socket: kreira soket connect: konektuje se na server send,recv: (slanje, primanje) shutdown close
TCP bazirani soketi
TCP Server kod
TCP klijent kod
Nekonekcione komunikacije
socket bind: opcionalno sendto, recvfrom shutdown close
Nekonekcione komunikacije
UDP Server
UDP klijent