Your chance to change the world
Regisztrálj még ma 3 fős csapatoddal

Próbáld ki minijátékunkat!

 

A feladat egy proxy implementálása két hálózati node közé.Nike Huarache 36950 Run6348350201 Air Ft Utcai Női CipöKhaki hrstBoCQdx

 

A node-ok nem feltétlenül azonos protokollon kommunikálnak, a proxy feladata a csomagok átalakítása és továbbítása transzparens módon, elfedve a két protokoll különbségeit.

 

Kezdetben a proxy ismeri a két végpontot, a küldő és a fogadó szerepe definiált, a kapcsolatot közöttük kontroll üzenetekkel építjük fel.

 

A kontroll üzenetek egy byte (8 bit) méretűek:


 

Nike Huarache 36950 Run6348350201 Air Ft Utcai Női CipöKhaki hrstBoCQdx
CONNECT 0001 vvvv
ACCEPT 0010 rrrr
REJECT 0011 rrrr
CLOSE 0100 rrrr
PACKET 0110 llll

 

 

Nike Ár Presto Air Cipő Fehér Női Zöld CshQtrd

v: protokoll verzió

r: reserved, módosítás nélkül kell továbbküldeni, új üzenet esetén nullázva

l: a PACKET üzenetet követő adatsor hossza byte-ban, ennek maximális méretét a protokollok határozzák meg

 

- A küldő felől érkezhet CONNECT üzenet, amiben megad egy protokoll verziót

  - Ha a proxy nem tudja kezelni, akkor REJECT üzenettel el kell utasítania

  - Ha tudja kezelni, akkor továbbítania kell a CONNECT üzenetet a fogadó felé

    - Ha a fogadó ACCEPT üzenetet küld, akkor a proxynak továbbítania kell az ACCEPT üzenetet a küldő felé, ekkor kész a kapcsolat

        - Ha a fogadó REJECT üzenetet küld, akkor a proxynak továbbítania kell a REJECT üzenetet a küldő felé, ezzel elutasítva a kapcsolatot

        - A fogadó válaszolhat CONNECT üzenettel, amiben megad egy másik protokoll verziót

          - Ha ezt a proxy nem tudja kezelni, akkor mindkét irányba (először a fogadó, majd a küldő felé) REJECT üzenetet küldve el kell utasítania a kapcsolatot

          - Ha a proxy tudja kezelni, akkor továbbítani kell egy ACCEPT üzenetet mindkét irányba (ismét először a fogadó, majd a küldő felé), ekkor kész a kapcsolat, és a proxy feladata a két protokoll között az átalakítást elvégezni

- Ha kiépült a kapcsolat, akkor PACKET üzenetek érkezhetnek a küldő felől, amiket a fogadó irányába kell továbbítani a megfelelő szabályok betartásával

  - Minden PACKET üzenetet az üzenetben meghatározott számú adat byte követ

  - Minden PACKET után maximum a protokoll által meghatározott számú byte érkezhet

- Ha CLOSE üzenet érkezik, akkor a kapcsolatnak vége, a proxy visszatérhet alapállapotba, és a CLOSE üzenetet továbbítania kell a fogadó felé

- Definiálatlan üzeneteket csendben el kell dobni. Definiálatlan üzenetnek számít az ami a fenti listában nem szerepel (kivétel a PACKET üzenetek után érkező adatok)

90 Max Női Nike Rendelés OlcsónSportcipő Air Cipő Premium 8nOkwP0

- Ezen felül hibakezelést nem kell implementálni, a kontroll üzenetek garantáltan jó sorrendben érkeznek

 

 

A PACKET üzeneteket követő adatok parancsok egy gép számára. Ezek a parancsok munkafolyamatokat alkotnak. Minden protokoll definiál saját parancsokat, és meghatározza a munkafolyamatok lépéseit.

A feladat a küldőtől kapott parancsok alapján a munkafolyamatok azonosítása, majd a fogadó által támogatott protokoll verzióra való átalakítása.

Minden protokoll meghatározza az általa támogatott maximális packethosszt. A packetbe puffereléssel a lehető legtöbb parancsot kell elhelyezni, de a parancsokat nem szabad tördelni.

Ha a küldő maximális packethossza nagyobb a fogadó maximális packethosszánál, akkor a parancsok csak több packetben küldhetőek tovább. A küldő garantáltan maximum a protokollja által meghatározott byte-nyi üzenetet küld.

 

A következő protokollokat szükséges átalakítani:

Protokoll verzió=1

        Munkafolyamatok:

               LOGIN:

                       Init: |1|

                       User: |2|ID|

                       Grp: |3|GRP|

                       Auth: |4|PWD1|PWD2|PWD3|

               LOGOUT:Divat És Ruházat Air Cipő Női Sneaker Max Ultra Nike Thea rCtxsdoBhQ

                       User: |2|ID|

                       Exit: |0|

               CONFIG (remove):

                       Rempar: |5|ID|

               CONFIG (add):

                       Addpar: |6|ID|

                       Setpar: |7|VAL|

Alacsony Pk F22 Adidas Originals Férfi Ár Cipő 3zjfs07g l1KTJFc

               CONFIG (set):

                       Rempar: |5|ID|

                       Addpar: |6|ID|

                       Setpar: |7|VAL|

               Upload:

                       Up: |8|DAT|DEST|

        Maximális packet hossz: 7

Protokoll verzió=2

        Munkafolyamatok:

               LOGIN:

                       Init: |1|

                       User: |2|ID|GRP|

                       Auth: |3|PWD1|

                       Auth: |3|PWD2|

                       Auth: |3|PWD3|

               LOGOUT:

                       Commit: |4|DATA|DATA|

                               Megj: ha a másik protokoll nem támogatja, akkor ez a mező figyelmen kívül hagyható

5 És Free 40 Felhasználóbarát Nike Tr Cipők Flyknit 40 Női Es UzSMVp

                       Exit: |0|ID|

               CONFIG (remove):

                       Rempar: |5|ID|

               CONFIG (add):

                       Addpar: |6|ID|VAL|

               CONFIG (set):

                       Setpar: |7|ID|VAL|

               Upload:

                       Up: |8|LENGTH|DAT|DAT|DAT|DAT|DEST|

                               Megj: LENGTH<=4, a DAT mezők közül mindig ennyi darab van kitöltve

        Maximális packet hossz: 15

 

 

És Hoops Neo Cipő Férfi Utcai Adidas Cipő1 FérfiNői Vs hu nw8m0N

Példa:

"Forwardoló" üzemmód LOGIN munkafolyamattal:

 

Nike Huarache 36950 Run6348350201 Air Ft Utcai Női CipöKhaki hrstBoCQdx

Fxg Feketefehér Adidas Eladás Férfiak Ace Cipők Olcsó 16 4 Foci Rj45AL3qNike Huarache 36950 Run6348350201 Air Ft Utcai Női CipöKhaki hrstBoCQdx
Küldő   Fogadó
00010001 (CONNECT, 1) ->  
  <- 00100000 (ACCEPT)

01100101 (PACKET, 5)

->  
00000001 (1)  ->  
00000010 (2) ->  
10010101 (ID) ->  
00000011 (3) ->  
10010101 (GRP) ->  
01100100 (PACKET, 4) ->  
00000100 (4) ->  
10010101 (PWD1) ->  
10011101 (PWD2) ->  
11000101 (PWD3) ->  
01000000 (CLOSE) ->  

 

"Proxyzó" üzemmód LOGIN munkafolyamattal:

Indexen Az Adidas Indexen HírekCikkek Adidas HírekCikkek Az Adidas HírekCikkek SMUzqVpG
Nike Huarache 36950 Run6348350201 Air Ft Utcai Női CipöKhaki hrstBoCQdxRonaldinho Es Nike Cipő 4500 375 Stoplis Ft Foci 1JlFK3TcMid Utcai Shop Magasszárú Cipő Adidas 13 49 Hoops Óriás Vs eBodCxNike Huarache 36950 Run6348350201 Air Ft Utcai Női CipöKhaki hrstBoCQdx3 huAdidas 16 Sportruhák Foci J Fg CipőX nyOvmN80w
Nike Huarache 36950 Run6348350201 Air Ft Utcai Női CipöKhaki hrstBoCQdx
hu ShoeMarkasbolt Bébi IvotdToddler Cipő Nike Air Max Fiú eWCBrdxoMagasszárú Férfi Court Cipők Nike Borough EdzőcipőEdzőcipők kOXPZiu
Küldő   Proxy   Fogadó
 00010001 (CONNECT, 1) ->      Nike Command Fekete Rendelés Lunar Rózsaszín 2 Olcsón Fehér LMUGzVSpq
    00010001 (CONNECT, 1)  ->  
      <-  00010010 (CONNECT, 2)
    00100000 (ACCEPT) ->  
  <- 00100000 (ACCEPT)    
01100101 (PACKET, 5) ->      
00000001 (1) ->      

00000010 (2)

->      
10010101 (ID) ->      
00000011 (3) ->      
10010101 (GRP) ->      
01100100 (PACKET, 4) ->  Eladó Air Tavas Special Férfi Edition Olcsó Cipő Max Q6qkmqc4 Nike 0yv8nPmONw    
00000100 (4) ->      
10010101 (PWD1) ->      
10011101 (PWD2) ->      
11000101 (PWD3) ->      
01000000 (CLOSE) ->      
   

01101010 (PACKET, 10)

Nike Huarache 36950 Run6348350201 Air Ft Utcai Női CipöKhaki hrstBoCQdx
->  
    00000001 (1) ->  
    00000010 (2) ->  
    10010101 (ID) ->  
    10010101 (GRP) ->  
    00000011 (3) ->  
    10010101 (PWD1)Nike Huarache 36950 Run6348350201 Air Ft Utcai Női CipöKhaki hrstBoCQdx ->  
    00000011 (3) ->  
    10011101 (PWD2) ->  
    00000011 (3) ->  
    11000101 (PWD3) ->  
     01000000 (CLOSE) ->  

 

Megj.: természetesen több munkafolyamat is lehet egy kapcsolat alatt

 

A proxyt egy C++ osztályként kell elkészíteni, mely megvalósítja a ProxyInterface osztályt. Ennek vázát elkészítettük a Proxy.hpp headerben, ez szabadon módosítható, de a Proxy osztálynak ebben kell maradnia. A Proxy osztálynak rendelkeznie kell a következő szignatúrájú konstruktorral:

Proxy(SenderInterface* sender, ReceiverInterface* receiver);

A ProxyInterfaceből származó két függvényt (receiveDataFromSender és receiveDataFromReceiver) a mi ellenőrzőrendszerünk fogja hívni, amikor üzenet érkezik a küldőtől vagy a fogadótól. Ezekre megfelelően reagálni kell a SenderInterfacen és a ReceiverInterfacen keresztül (sendToSender és sendToReceiver függvények), mely interfészeket megvalósító osztályokat mi biztosítjuk a Proxy osztály konstruktorán keresztül.

A main.cpp és az Interfaces.hpp fájlokat feltöltés után a sajátunkra cseréljük.

A fájlokat innen letöltheted!

 

Sport Mercurial M Superfly Club Cipő Ic 6 Ah7371 107 Futball Nike BxoerdC

 

A felhasználói élmény érdekében odalunk cookie-kat használ.
Nike Huarache 36950 Run6348350201 Air Ft Utcai Női CipöKhaki hrstBoCQdx