Számítógépes Hálózatok. 4. gyakorlat

Hasonló dokumentumok
Számítógépes Hálózatok GY 4.hét

Számítógépes Hálózatok GY 3-4.hét

Számítógépes Hálózatok. 3. gyakorlat

Számítógépes Hálózatok GY 3.hét

Számítógépes Hálózatok GY 6.hét

Számítógépes Hálózatok. 3. gyakorlat

Számítógépes Hálózatok GY 7.hét

Socket programozás Példák

Számítógépes Hálózatok. 7. gyakorlat

Számítógépes Hálózatok. 5. gyakorlat

Számítógépes hálózatok

Számítógépes hálózatok

Dr. Varga Imre. Socket-programozás. C nyelven

Dr. Varga Imre Debreceni Egyetem, Informatikai Kar. Socket-programozás. C nyelven, Linux alatt

Számítógépes hálózatok I.

Kommunikáció - Wi-Fi, Mobil internet - Bluetooth - GSM / GPRS és SMS - NFC

Hálózati architektúrák laborgyakorlat

Számítógép-hálózatok: 4. Labor. TCP kliens. A gyakorlat célja:

Számítógép labor V. Egyszer Web szerver. Dokumentáció. Készítette: Ács Gergely (K4C03M)

TCP szerver. TCP szerver alkalmazás írásának az elsajátítása TCP protokoll tulajdonságainak a tanulmányozása kisérleti úton

Adatbázis használata PHP-ből

Programozás alapjai. 5. előadás

Programozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Hálózatkezelés. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Hálózatkezelés / 20

3. Gyakorlat Ismerkedés a Java nyelvvel

Kommunikáció Androidon Mobilinternet Wifi

2018, Funkcionális programozás

Microsoft Windows XP. Feladatgyűjtemény

kommunikáció Feladatgyűjtemény

Kommunikáció. Távoli eljáráshívás. RPC kommunikáció menete DCE RPC (1) RPC - paraméterátadás. 3. előadás Protokollok. 2. rész

Számítógépes Hálózatok. 5. gyakorlat

Java hálózatkezelés II. szerver-kliens kapcsolat szálkezelés JAVA PROGRAMOZÁS 10. GYAKORLAT

1. Gyakorlat: Telepítés: Windows Server 2008 R2 Enterprise, Core, Windows 7

Teleoperáció Robot vezérlése IP-hálózaton

ColourSMS Protokol definíció. Version 1.2

C programozási nyelv

Mit tudunk már? Programozás alapjai C nyelv 4. gyakorlat. Legnagyobb elem keresése. Feltételes operátor (?:) Legnagyobb elem keresése (3)

Programozás alapjai C nyelv 4. gyakorlat. Mit tudunk már? Feltételes operátor (?:) Típus fogalma char, int, float, double

InFo-Tech emelt díjas SMS szolgáltatás. kommunikációs protokollja. Ver.: 2.1

Az Evolut Főkönyv program telepítési és beállítási útmutatója v2.0

9. MPI

Kilencedik témakör: Lazarus-Firebird. Készítette: Dr. Kotsis Domokos

Tisztelt Telepítő! A központ és az alkalmazás összehangolását a következőképpen hajthatja végre:

Programozás I gyakorlat

HÁZI FELADAT PROGRAMOZÁS I. évf. Fizikus BSc. 2009/2010. I. félév

Python bevezető foglalkozás Python bevezető foglalkozás

Python tanfolyam Python bevezető I. rész

Simon Balázs Dr. Goldschmidt Balázs Dr. Kondorosi Károly. BME, Irányítástechnika és Informatika Tanszék

Pál László. Sapientia EMTE, Csíkszereda, 2014/2015

Az osztályok csomagokba vannak rendezve, minden csomag tetszőleges. Könyvtárhierarhiát fed: Pl.: java/util/scanner.java

Információs Technológia

2018, Funkcionális programozás

Nagy HF u tmutato 2011/2012 II. fe le v

C programozási nyelv

Két típusú összeköttetés PVC Permanent Virtual Circuits Szolgáltató hozza létre Operátor manuálisan hozza létre a végpontok között (PVI,PCI)

Multiprotocol encapsulation (RFC1483) - IETF Classical IP over ATM (RFC1577) - IETF LAN Emulation (LANE) - ATM Forum Multiprotocol over ATM (MPOA) -

Körkörös listák. fej. utolsó. utolsó. fej

MKOSZ Online Support - Felhasználói

7. Laboratóriumi gyakorlat: Vezérlési szerkezetek II.

Occam 1. Készítette: Szabó Éva

Kommunikáció Androidon GSM hívás SMS küldés, fogadás Bluetooth NFC USB

Hálózati architektúrák és Protokollok GI Kocsis Gergely

KFKI Unified Messaging Server (UMS) Felhasználói Útmutató

Óbudai Egyetem. C programozási nyelv

Programozási nyelvek Java

7. Laboratóriumi gyakorlat, 1. rész : Vezérlési szerkezetek II.

Smalltalk 3. Osztályok létrehozása. Készítette: Szabó Éva

WDS 4510 adatátviteli adó-vevő

Mintavételes szabályozás mikrovezérlő segítségével

OKTATÁSKUTATÓ ÉS FEJLESZTŐ INTÉZET TÁMOP-3.1.5/ Pedagógusképzés támogatása

MVC. Model View Controller

BME MOGI Gépészeti informatika 13.

FTP: Elkülönített kontroll- és adatkapcsolat. FTP: File Transfer Protocol

FortiClient VPN-IPSec kliens konfigurációs segédlet

Adatbázis rendszerek II. Adatbázis elérése C# kliens programból ADO.NET API-n keresztül

Ütemezett küldés fogyasztásmérő óra állásról inels-bus rendszerben

2018, Funkcionális programozás

MEDITOR 5 KLÓN telepítési segédlete

CREATE TABLE student ( id int NOT NULL GENERATED ALWAYS AS IDENTITY PRIMARY KEY, name varchar(100) NOT NULL, address varchar(100) NOT NULL )

1. Bevezető. 2. IP cím és szolgáltatások felderítése

6. gyakorlat Egydimenziós numerikus tömbök kezelése, tömbi algoritmusok

Vegyes témakörök. 10. Robotvezérlés WiFi kapcsolaton keresztül. Hobbielektronika csoport 2018/ Debreceni Megtestesülés Plébánia

Számítógépes Hálózatok. 1. Gyakorlat

1. Ismerkedés a Hyper-V-vel, virtuális gépek telepítése és konfigurálása

Számítógépes Hálózatok. 9. gyakorlat

C# Nyelvi Elemei. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) C# Nyelvi Elemei / 18

Kommunika cio s protokoll. Verzió 1.0

/* Az iter függvény meghívása és a visszatérő érték átadása a gyok változóba */ gyok = iter( n, a, e ) ;

Excel ODBC-ADO API. Tevékenységpontok: - DBMS telepítés. - ODBC driver telepítése. - DSN létrehozatala. -Excel-ben ADO bevonása

Segédanyag: Java alkalmazások gyakorlat

Adatbázis Rendszerek II. 1. SQL programozási felületek 39/1B IT MAN

A belső hálózat konfigurálása

Kommunikáció Androidon Mobilinternet Wifi

Hálózati alkalmazások

Számítógépes Hálózatok 2012

Programozás II. ATM példa Dr. Iványi Péter

Adattípusok, vezérlési szerkezetek. Informatika Szabó Adrienn szeptember 14.

PYTHON. Avagy hosszú az út a BioPythonig

Algoritmusok Tervezése. 4. Előadás Visual Basic 1. Dr. Bécsi Tamás

Modbus kommunikáció légkondícionálókhoz

Átírás:

Számítógépes Hálózatok 4. gyakorlat

Teszt canvas.elte.hu Számítógépes Hálózatok Gyakorlat 2

TCP Számítógépes Hálózatok Gyakorlat 3

TCP socket() bind() listen() accept() sock = socket.socket(socket.af_inet, socket.sock_stream) server_address = ('localhost', 10000) sock.bind(server_address) sock.listen(1) connection, client_address = sock.accept() Számítógépes Hálózatok Gyakorlat 4

TCP send(), sendall() recv() close() connect() connection.sendall(data) #python 2.x connection.sendall(data.encode()) #python 3.x data = connection.recv(16) #python 2.x data = connection.recv(16).decode() #python 3.x connection.close() server_address = ( localhost, 10000) sock.connect(server_address) Számítógépes Hálózatok Gyakorlat 5

Struktúraküldése Binárissá alakítjuk az adatot import struct values = (1, ab.encode(), 2.7) packer = struct.struct('i 2s f') packed_data = packer.pack(*values) Visszalakítjuk a kapott üzenetet import struct unpacker = struct.struct('i 2s f') unpacked_data = unpacker.unpack(data) #python2: nem kell encode() #Int, char[2], float megj.: integer 1 4 byte, stringként 1 byte, azaz hatékonyabb stringként átküldeni. Számítógépes Hálózatok Gyakorlat 6

Feladat - Számológép Készítsünk egy szerver-kliens alkalmazást, ahol a kliens elküld 2 számot és egy operátort a szervernek, amely kiszámolja és visszaküldi az eredményt. A kliens üzenete legyen struktúra. Számítógépes Hálózatok Gyakorlat 7

Select setblocking() or settimeout() select() connection.setblocking(0) # or connection.settimeout(1.0) inputs = [ server ] outputs = [ ] timeout=1 readable, writable, exceptional = select.select(inputs, outputs, inputs,timeout) for s in readable: if s is server: #new client connect client, client_addr = s.accpet() inputs.append(client) else:. #handle client Számítógépes Hálózatok Gyakorlat 8

Feladat Számológép II. Alakítsuk át úgy a számológép szervert, hogy egyszerre több klienssel is képes legyen kommunikálni! Ezt a select függvény segítségével tegye! Alakítsuk át a kliens működését úgy, hogy ne csak egy kérést küldjön a szervernek, hanem csatalakozás után 5 kérés-válasz üzenetváltás történjen, minden kérés előtt 2 mp várakozással (time.sleep(2))! A kapcsolatot csak a legvégén bontsa a kliens! Számítógépes Hálózatok Gyakorlat 9

Feladat - Chat Készítsünk egy chat alkalmazást, amelyen a chat szerverhez csatlakozott kliensek képes beszélni egymással! A szerver szerepe, hogy a kliensektől jövő üzenetet minden más kliensnek továbbítja névvel együtt: [<név>] <üzenet> ; pl. [Józsi] Kék az ég! A kliensek a szervertől jövő üzeneteket kiírják a képernyőre. Számítógépes Hálózatok Gyakorlat 10

Házi feladat 2 pont Készítsünk egy barkóba alkalmazást. A szerver legyen képes kiszolgálni több klienst. A szerver válasszon egy egész számot 1..100 között véletlenszerűen. A kliensek próbálják kitalálni a számot. A kliens üzenete egy összehasonlító operátor: <, >, = és egy egész szám, melyek jelentése: kisebb-e, nagyobb-e, mint az egész szám, illetve rákérdez a számra. A kérdésekre a szerver Igen/Nem/Nyertél/Kiestél/Vége üzenetekkel tud válaszolni. A Nyertél és Kiestél válaszok csak a rákérdezés (=) esetén lehetségesek. Ha egy kliens kitalálta a számot, akkor a szerver minden újabb kliens üzenetre az Vége üzenetet küldi, amire a kliensek kilépnek. A szerver addig nem választ új számot, amíg minden kliens ki nem lépett. Nyertél, Kiestél és Vége üzenet fogadása esetén a kliens bontja a kapcsolatot és terminál. Igen/Nem esetén folytatja a kérdezgetést. A kommunikációhoz TCP-t használjunk! Folytatás a következő oldalon! Számítógépes Hálózatok Gyakorlat 11

Házi feladat 2 pont A kliens logaritmikus keresés segítségével találja ki a gondolt számot. A kliens tudja, hogy milyen intervallumból választott a szerver. AZAZ a kliens NE a standard inputról dolgozzon. Minden kérdés küldése előtt véletlenszerűen várjon 1-5 mp-et. Ezzel több kliens tesztelése is lehetséges lesz. Folytatás a következő oldalon! Számítógépes Hálózatok Gyakorlat 12

Házi feladat 2 pont Üzenet formátum: Klienstől: bináris formában egy db karakter, 32 bites egész szám A karakter lehet: <: kisebb-e, >: nagyobb-e, =: egyenlő-e Szervertől: ugyanaz a bináris formátum, de a számnak nincs szerepe (bármi lehet) A karakter lehet: I: Igen, N: Nem, K: Kiestél, Y: Nyertél, V: Vége Fájlnevek és parancssori argumentumok: Szerver: server.py <bind_address> <bind_port> # A bindolás során használt pár Kliens: client.py <server_address> <server_port> # A szerver elérhetősége Beadási határidő: 2019.03.17. 23:59 BEAD rendszer Számítógépes Hálózatok Gyakorlat 13

VÉGE Számítógépes Hálózatok Gyakorlat 14