Details

Cross-Platform Client-Server Architecture
ID Milanovski, Hristijan (Author), ID Šter, Branko (Mentor) More about this mentor... This link opens in a new window, ID Urh, Filip (Comentor)

.pdfPDF - Presentation file, Download (1,38 MB)
MD5: EBF318175F1F5D681E4B05A308FEF330

Abstract
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.

Language:English
Keywords:inter-process communication, client–server architecture, sockets, events, shared memory
Work type:Bachelor thesis/paper
Typology:2.11 - Undergraduate Thesis
Organization:FRI - Faculty of Computer and Information Science
Year:2025
PID:20.500.12556/RUL-172690 This link opens in a new window
COBISS.SI-ID:249765891 This link opens in a new window
Publication date in RUL:10.09.2025
Views:437
Downloads:191
Metadata:XML DC-XML DC-RDF
:
Copy citation
Share:Bookmark and Share

Secondary language

Language:Slovenian
Title:Večplatformna odjemalsko-strežniška arhitektura
Abstract:
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.

Keywords:medprocesna komunikacija, arhitektura odjemalec–strežnik, vtičnice, dogodki, skupni pomnilnik

Similar documents

Similar works from RUL:
Similar works from other Slovenian collections:

Back