UDP pakety

Komunikace


 

Pomocí UDP paketů lze přenášet data mezi počítači přes síťové připojení (lokální síť nebo Internet). UDP protokol je založen na přenosu paketů bez potvrzování spojení. Díky tomu je přenos dat rychlý, ovšem bez zaručení bezztrátovosti dat. Vyšlete-li nějaká data, nelze se spolehnout na to, že data budou příjemci opravdu doručena. UDP protokol je vhodný například pro rychlou komunikaci mezi hrami.

 

Při přenosu dat přes UDP protokol nastavuje vysílací strana IP adresu příjemce, ke kterému bude probíhat vysílání dat, a port, na kterém bude příjemce naslouchat. Port je jakékoliv číslo v rozsahu 1 až 65535. Data lze rozesílat více příjemcům najednou (broadcast). Odesílaná data (datový paket) mohou být ve formátu textové zprávy nebo binárních dat. Velikost jednoho UDP paketu je omezena. Minimální zaručená velikost je 512 bajtů, ale obvykle je podporována velikost paketu až 1500 bajtů. Příjemce nastavuje přijímací IP adresu, na které bude naslouchat (v případě, že na PC je několik síťových karet) a přijímací port.

 

bm1091         vysílací IP adresa

 

Prvek vysílací IP adresa určuje IP adresu, na kterou budou pakety odesílány. IP adresa je text ve tvaru např. 192.168.1.20, tedy 4 skupiny číslic (každá v rozsahu 0 až 255) oddělené tečkami. Každá skupina může být v dekadickém formátu (začíná-li číslicí 1 až 9), v oktalovém formátu (začíná číslicí 0) nebo v hexadecimálním formátu (začíná znaky 0x). Hodnota 255 představuje broadcastové vysílání, bez rozlišení dané části IP adresy. Například 255.255.255.255 je vysílání všem příjemcům bez rozlišení, 129.168.1.255 rozešle paket všem počítačům v lokální síti. Při čtení prvek navrátí aktuálně nastavenou vysílací IP adresu. Vysílací adresa má implicitní nastavení 127.0.0.1, což je zpětná IP adresa počítače, určená ke komunikaci mezi programy na jednom počítači. Aktuální IP adresu počítače lze zjistit prvkem IP adresa tohoto počítače .

 

bm1092         vysílací port (-1=zavření vysílání)

 

Prvek vysílací port nastavuje port, na kterém bude poslouchat příjemce paketů (protějšek). Vysílací port je číslo v rozsahu 1 až 65535. Implicitní hodnota vysílacího portu je 5000. Zápisem hodnoty -1 se nastavení vysílacího portu nezmění, ale uzavře se aktuálně otevřený UDP kanál. Čtením prvku je navrácena aktuálně nastavená hodnota vysílacího portu.

 

bm1093         velikost přijímacího bufferu

 

Při příjmu UDP paketu je přijímána velikost dat do maximální velikosti, kterou určuje prvek velikost přijímacího bufferu . Implicitní velikost přijímacího bufferu je 512 bajtů. Buffer může mít rozsah velikosti 1 až 16384 bajtů. Horní hranice je určena síťovým rozhraním a zpravidla je podporována velikost paketu 1500 bajtů. Čtením prvku lze zjistit aktuálně nastavenou velikost přijímacího bufferu.

 

bm1094         přijatá/přijímací IP adresa

 

Prvek přijatá/přijímací IP adresa umožňuje nastavit IP adresu (jako text), na které bude přijímač přijímat UDP pakety. Nastavení IP adresy je nutné v případě, je-li třeba vybrat jedno z více síťových rozhraní instalovaných na PC. V opačném případě lze ponechat implicitní nastavení, což je adresa 0.0.0.0 znamenající, že příjem probíhá z jakéhokoliv síťového rozhraní. Čtením prvku je navrácena IP adresa odesílatele naposledy přijatého UDP paketu. Před příjmem prvního paketu je navrácena hodnota 255.255.255.255.

 

bm1095         přijatý/přijímací port (-1=zavření příjmu)

 

Prvek přijímací port nastavuje port, na kterém bude přijímač přijímat UDP pakety. Přijímací port je číslo v rozsahu 1 až 65535. Implicitní hodnota přijímacího portu je 5000. Zápisem hodnoty -1 se nastavení přijímacího portu nezmění, ale uzavře se aktuálně otevřený UDP kanál. Čtením prvku je navrácen port odesílatele naposledy přijatého UDP paketu. Před příjmem prvního paketu je navrácena hodnota 0.

 

bm1096         binární paket

 

Prvek binární paket slouží k přenosu dat v binárním formátu. Před vysláním paketu se v paměťovém bloku připraví data k odeslání, nastaví se ukazatel čtení na začátek dat. Paket se poté odešle použitím prvku binární paket se zadanou velikostí dat jako parametr. Čtením prvku proběhne příjem paketu, prvek navrátí velikost načtených dat (0 není-li nic přijato). Příjem probíhá do paměťového bloku, na nějž je nastaven ukazatel zápisu . Pamětový blok musí mít velikost minimálně stejnou, jaká je nastavena prvkem velikost přijímacího bufferu .

 

bm1097         textový paket

 

Prvek textový paket slouží k přenosu dat v textovém formátu. Odeslání dat se provede použitím prvku jako příkaz, s uvedením textu k vyslání jako parametr. Čtením prvku je proveden příjem paketu, přijatá data jsou navrácena jako text. Není-li nic přijato, je navrácen prázdný text. Velikost přijatého textu je omezena nastavením prvku velikost přijímacího bufferu .