Network programming in the Asio library

Autor: Krcivoj, Ivan
Přispěvatelé: Jurak, Mladen
Jazyk: chorvatština
Rok vydání: 2022
Předmět:
Popis: U ovom radu proučavamo kako možemo koristiti ASIO biblioteku za mrežno programiranje. U prvom poglavlju ovog rada govorimo općenito o mrežnom programiranju. Uvodimo terminologiju koju ćemo koristiti u radu. Osim toga opisana je slojevita struktura koja je nezaobilazni dio aplikacije koja koristi mrežno programiranje. U preostalim poglavljima proučavamo klase i funkcije koje nam pruža ASIO biblioteka. Proučavanje započinjemo utičnicama i proučavanjem kako one omogućuju razmjenu podataka. Da bismo mogli razmjenjivati podatke prvo moramo povezati procese. Nakon što smo naučili glavne načine za povezivanje utičnica, obrađujemo metode i funkcije za slanje i primanje poruka. Metode i funkcije dijelimo na sinkrone i asinkrone te objašnjavamo prednosti i mane svakog od tih pristupa. Rad je većinom baziran na TCP transportnom protokolu jer ćemo njega koristiti u završnom poglavlju, tj. u izradi projektnog zadatka. Kako se i UDP protokol često koristi navodimo razlike u kodu s obzirom na to koji se protokol koristi. Za kraj prikazujemo kako sve segmente možemo spojiti u jednu cjelinu. Kao projektni zadatak implementiramo HTTP protokol. Za početak kažemo nešto općenito o protokolu, a zatim implementiramo klijenta i poslužitelja koji komuniciraju koristeći HTTP protokol. In this paper we study how we can use the ASIO library for network programming. In the first chapter of this paper, we talk about network programming in general. We introduce the terminology that we will use in the paper. In addition, a layered structure is described, which is an indispensable part of an application that uses network programming. In the remaining chapters, we study the classes and functions provided by the ASIO library. We begin the study with sockets and studying how they enable data exchange. To be able to exchange data, we first need to connect the processes. After learning the main ways to connect sockets, we cover the methods and functions for sending and receiving messages. We divide methods and functions into synchronous and asynchronous and explain the advantages and disadvantages of each of these approaches. The work is mostly based on the TCP transport protocol because we will use it in the final chapter, i.e. in the creation of the project assignment. As the UDP protocol is also often used, we list the differences in the code with regard to which protocol is used. Finally, we show how all segments can be combined into one whole. As a project task, we implement the HTTP protocol. First, we say something general about the protocol, and then we implement a client and server that communicate using the HTTP protocol.
Databáze: OpenAIRE