<?xml version="1.0" encoding="utf-8"?>
<Gradivo ID="172690" NadgradivoID="0" NRID="27454081" OceID="0" DomainUrl="https://repozitorij.uni-lj.si/" IzpisPolniUrl="https://repozitorij.uni-lj.si/IzpisGradiva.php?lang=slv&amp;id=172690" StOgledov="560" StPrenosov="340" StOcen="0" VsotaOcen="0" DatumIzvoza="2026-09-30 18:29:05" OcenaSkupna="0" StPodgradiv="0" StudijskiProgramEvsID="1000468" JeIndeksirano="0" JeVecAvtorjev="0" DovoliZahtevkeZaDostop="0">
  <PID Url="http://hdl.handle.net/20.500.12556/RUL-172690">20.500.12556/RUL-172690</PID>
  <Naslov>Cross-Platform Client-Server Architecture</Naslov>
  <Podnaslov></Podnaslov>
  <TujJezik_Naslov>Večplatformna odjemalsko-strežniška arhitektura</TujJezik_Naslov>
  <TujJezik_Podnaslov></TujJezik_Podnaslov>
  <Opis>The diploma thesis describes the complete process of creating a cross-platform,
multi-client, multi-threaded server architecture that works natively on both
Windows and Linux, as an improvement of the original implementation at
Tasking Labs d.o.o., which, at the time of writing, supported only a single
client natively on Windows. The implementation covers all communication
mechanisms required for multi-client, multi-threaded server interactions be-
tween client processes and the server process. It addresses the initial hand-
shake, the server’s listening and cleaning threads, the dispatching of requests
and their corresponding responses, as well as packet segmentation, open-
ing, and mapping through shared memory. In addition, the thesis discusses
the various approaches undertaken, including the use of synchronization ob-
jects, mutexes, native handles when necessary, and sockets, as well as the
differences between the Windows and Linux APIs, which had to be care-
fully managed to ensure a uniform, portable C++ interface that can be used
consistently across the company’s codebase and products.</Opis>
  <TujJezik_Opis>Diplomska naloga opisuje celoten proces ustvarjanja večplatformne, večodje-
malske, večnitne arhitekture strežnika, ki deluje tako na Windows kot na Lin-
uxu, kot izboljšavo prvotne implementacije v podjetju Tasking Labs d.o.o., ki
je prvotno podpirala le enega odjemalca na Windows. Implementacija zajema
vse komunikacijske mehanizme, potrebne za večodjemalske, večnitne interak-
cije med odjemalskimi procesi in strežniškim procesom. Obravnava začetno
vzpostavitev povezave z rokovanjem, poslušalno in čistilno nitjo strežnika, us-
merjanje zahtev in njihovih ustreznih odgovorov, pa tudi segmentacijo pake-
tov, odpiranje in preslikavo prek deljenega pomnilnika. Poleg tega naloga
obravnava različne uporabljene pristope, vključno z uporabo sinhronizaci-
jskih objektov, muteksov, izvornih ročic, kadar je to potrebno, in vtičnic.
Prav tako obravnava razlike med Windows in Linux API-ji, ki so bile skrbno
obvladane, da se zagotovi enoten in prenosljiv C++ vmesnik, primeren za
dosledno uporabo v celotni izvorni kodi in produktih podjetja.</TujJezik_Opis>
  <KljucneBesede>
    <Beseda>inter-process communication</Beseda>
    <Beseda>client–server architecture</Beseda>
    <Beseda>sockets</Beseda>
    <Beseda>events</Beseda>
    <Beseda>shared memory</Beseda>
  </KljucneBesede>
  <TujJezik_KljucneBesede>
    <Beseda>medprocesna komunikacija</Beseda>
    <Beseda>arhitektura odjemalec–strežnik</Beseda>
    <Beseda>vtičnice</Beseda>
    <Beseda>dogodki</Beseda>
    <Beseda>skupni pomnilnik</Beseda>
  </TujJezik_KljucneBesede>
  <Potrjeno>true</Potrjeno>
  <JeZaklenjeno>false</JeZaklenjeno>
  <JeRecenzirano>false</JeRecenzirano>
  <Zaloznik></Zaloznik>
  <Izvor></Izvor>
  <Jezik ID="1033" ISO639-3="eng">Angleški jezik</Jezik>
  <TujJezik ID="1060" ISO639-3="slv">Slovenski jezik</TujJezik>
  <Povezave></Povezave>
  <Pokrivanje></Pokrivanje>
  <CasovnoPokritje></CasovnoPokritje>
  <AvtorskePravice></AvtorskePravice>
  <VrstaGradiva ID="mb11" DRIVER="info:eu-repo/semantics/bachelorThesis">Diplomsko delo/naloga</VrstaGradiva>
  <DatumVstavljanja>2025-09-10 19:30:00</DatumVstavljanja>
  <DatumObjave>2025-09-10 19:30:07</DatumObjave>
  <DatumSpremembe>2025-10-19 03:41:20</DatumSpremembe>
  <DatumTrajnegaHranjenja>0000-00-00 00:00:00</DatumTrajnegaHranjenja>
  <LetoIzida>2025</LetoIzida>
  <LetoIzidaDo>0</LetoIzidaDo>
  <KrajIzida></KrajIzida>
  <LetoIzvedbe>0</LetoIzvedbe>
  <KrajIzvedbe></KrajIzvedbe>
  <Opomba></Opomba>
  <StStrani></StStrani>
  <StevilcenjeNivo1></StevilcenjeNivo1>
  <StevilcenjeNivo2></StevilcenjeNivo2>
  <Kronologija></Kronologija>
  <Patent_Stevilka></Patent_Stevilka>
  <Patent_DatumVeljavnosti>0000-00-00</Patent_DatumVeljavnosti>
  <VerzijaDokumenta>NiDoloceno</VerzijaDokumenta>
  <StatusObjaveDrugje>NiDoloceno</StatusObjaveDrugje>
  <VrstaStroskaObjave>NiDoloceno</VrstaStroskaObjave>
  <DatumPoslanoVRecenzijo>0000-00-00</DatumPoslanoVRecenzijo>
  <DatumSprejetjaClanka>0000-00-00</DatumSprejetjaClanka>
  <DatumObjaveClanka>0000-00-00</DatumObjaveClanka>
  <EmbargoDo></EmbargoDo>
  <VrstaEmbarga ID="1" Naziv="Takojšnja javna objava" OpenAIREDostop="openAccess"></VrstaEmbarga>
  <Osebe>
    <Oseba ID="149210" Ime="Hristijan" Priimek="Milanovski" AltIme="" VlogaID="70" VlogaNaziv="Avtor" ConorID="" Afiliacija="" ArrsID="0" ORCID=""></Oseba>
    <Oseba ID="22400" Ime="Branko" Priimek="Šter" AltIme="Branko Ster; Branko Ter" VlogaID="991" VlogaNaziv="Mentor" ConorID="4005219" Afiliacija="" ArrsID="14300" ORCID=""></Oseba>
    <Oseba ID="149209" Ime="Filip" Priimek="Urh" AltIme="" VlogaID="994" VlogaNaziv="Komentor" ConorID="" Afiliacija="" ArrsID="0" ORCID=""></Oseba>
  </Osebe>
  <Identifikatorji>
    <Identifikator ID="16" Sifra="VisID" Naziv="VisID" URL="">38349</Identifikator>
    <Identifikator ID="3" Sifra="CobissID" Naziv="COBISS_ID" URL="https://plus.cobiss.net/cobiss/si/sl/bib/249765891">249765891</Identifikator>
  </Identifikatorji>
  <Relacije>
  </Relacije>
  <VerzijeGradiva>
  </VerzijeGradiva>
  <Datoteke>
    <Datoteka ID="216720" DatotekaNRID="14442741" NamenDatotekeID="2" NamenDatoteke="Predstavitvena datoteka" FormatDatotekeID="2" FormatDatoteke=".pdf" MIME="application/pdf" IkonaFormata="pdf.png" IkonaFormataPolniUrl="https://repozitorij.uni-lj.si/teme/rulDev/img/fileTypes/pdf.png" VelikostDatoteke="1445134" VelikostDatotekeKratko="1,38 MB" DatumVstavljanja="2025-09-10 19:30:09" JeZbrisana="false" JeJavnoVidna="true" JeIndeksirana="true" JeVidno="true" VidnoOd="01.01.1970" Zaporedje="0">
      <Naziv>Milanovski_Hristijan_-_Vecplatformna_odjemalsko-strezniska_arhitektura.pdf</Naziv>
      <OrgNaziv>Milanovski_Hristijan_-_Vecplatformna_odjemalsko-strezniska_arhitektura.pdf</OrgNaziv>
      <URL></URL>
      <Opis></Opis>
      <OpisTujJezik></OpisTujJezik>
      <UrlObdelave></UrlObdelave>
      <FrekvencaAzuriranjaID>1</FrekvencaAzuriranjaID>
      <Verzija></Verzija>
      <MD5>EBF318175F1F5D681E4B05A308FEF330</MD5>
      <SHA256>9b32f6340d86778521f9ce6f0da7193936887a36b4f5cd905a3e4aa0d864c76e</SHA256>
      <UUID>a2f3d500-8e6b-11f0-9328-0050569b8976</UUID>
      <PID></PID>
      <PrenosPolniUrl>https://repozitorij.uni-lj.si/Dokument.php?lang=slv&amp;id=216720</PrenosPolniUrl>
      <Vsebine>
        <Vsebina TipVsebine="GoloBesedilo" JezikID="1033" Oznaka="" Dolzina="79942"></Vsebina>
      </Vsebine>
    </Datoteka>
  </Datoteke>
  <Organizacije>
    <Organizacija OrganizacijaID="25" Kratica="FRI" ZavodEvsID="0000066" Logo="" LogoPolniUrl="https://repozitorij.uni-lj.si/teme/rulDev/img/logo/">Fakulteta za računalništvo in informatiko</Organizacija>
  </Organizacije>
  <OrganizacijeVira>
  </OrganizacijeVira>
  <MetodeZbiranjaPodatkov>
  </MetodeZbiranjaPodatkov>
  <TipologijaDela ID="2.11" Koda="2.11" Naziv="Diplomsko delo" SchemaOrg="Thesis"></TipologijaDela>
  <Ostalo>
    <StIrodsDatotek>0</StIrodsDatotek>
    <StDatotekPodTrajnimEmbargom>0</StDatotekPodTrajnimEmbargom>
    <StDatotekZOmejenimDostopom>0</StDatotekZOmejenimDostopom>
  </Ostalo>
</Gradivo>
