4. alkalom – Hálózat Kezelés

Slides:



Advertisements
Hasonló előadás
Osztály leszármaztatás
Advertisements

Hálózati és Internet ismeretek
HÁLÓZAT SOAP Hagyományos WCF/ASMX webszervizek.
Programozás III HÁLÓZAT.
Virtuális méréstechnika Hálózati kommunikáció 1 Mingesz Róbert V
A LabVIEW használata az oktatásban
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Adatbányászati technikák (VISZM185)
Öröklődés 2..
Hálózati alkalmazások
© Kozsik Tamás Tömbök, kollekciók és egyéb alaposztályok.
© Kozsik Tamás Beágyazott osztályok A blokkstrukturáltság támogatása –Eddig: egymásba ágyazható blokk utasítások Osztálydefiníciók is egymásba.
© Kozsik Tamás Párhuzamosság A program egyszerre több mindent is csinálhat Lehetőségek: –Számítással egyidőben IO –Több processzor: számítások.
Bevezetés a Java programozásba
Bevezetés a Java programozásba
Fájlkezelés, IO Kivételkezelés Belső osztályok
1 Fejlett Programozási Technikák 2. 15/9. Fejlett Programozási Technológiák 2. 2 Az előző mai előadás tartalma: Számítógépes biztonság Jáva és a biztonság.
Abstract osztályok és interface-ek Beolvasás és kiíratás 7. gyakorlat.
Fejlett Programozási Technológiák II. Világos Zsolt 1. gyakorlat.
Fejlett Programozási Technikák 2.
Tömbök ismétlés Osztályok Java-ban Garbage collection
A Java programozási nyelvSoós Sándor 1/17 Java programozási nyelv 4. rész – Osztályok II. Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai.
Java programozási nyelv 3. rész – Osztályok I.
Hálózatkezelés, java.net Elek Tibor
C# tagfüggvények.
C# tagfüggvények.
Szmetankó Gábor Greencode Kft.
OE-NIK HP Haladó Programozás WCF kivételkezelés. OE-NIK HP Haladó Programozás Windows Communication Foundation A szolgáltatás, a hoszt és az ügyfél elkészítése.
Készítette: Keszthelyi Zsolt
Számítógépes Hálózatok
Kivételkezelés.
1 Simple Network Management Protocol, azaz egyszerű hálózatmenedzsment protokoll Takács Béla 2006.
P ROGRAMOZÁS C# - BAN Kivételkezelés. P ÉLDA I. Nullával való osztás miatt kapjuk a hibaüzenetet.
A protokollok határozzák meg a kapcsolattartás módját.
Hálózati beállítások és szolgáltatások
Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz tárgy honlap:
Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz tárgy honlap:
1 Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz tárgy honlap:
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Javascript Microsoft által készített kiegészítése Statikus típusosság Nagy projektek Windows 8 fejlesztésénél WinRT egy részét ebben írták Nyílt forráskódú,
Server, Client. Client-Server Client numPlayers Id ServerMessage ClientMessage Server numPlayers ClientMessages[] ServerMessage Ha a kliens ugyanazt az.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 7. gyakorlat.
HTTP kommunikáció Androidon HttpClient-en keresztűl HttpPost/HttpGet objektum használatával HttpClient execute metódusának meghívása.
Java programozási nyelv Filekezelés
Java programozási nyelv Adatbekérés konzolról
HTML5 alapú fejlesztő és futtató környezet megvalósítása
Miért is jók a rétegek?  Ha alkalmazást készítünk, nem akarunk IP csomagok küldésével bajlódni Ethernet keretekkel foglalkozni Implementálni megbízható.
Gyakorlat 3. Számítógép hálózatok I.
Logikai programozás 8.. KIINDULÓ PÉLDÁK
Számítógépes adatbázis-kezelés
Fejlett Programozási Technológiák II. 2009, Nagy Csaba JSP – Java Server Pages.
Illés Zoltán ELTE Informatikai Kar
Mérés és adatgyűjtés laboratóriumi gyakorlat Hálózati kommunikáció 1 Makan Gergely, Mingesz Róbert, Nagy Tamás V
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás I. 7. gyakorlat.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 6. gyakorlat.
TÁMOP /1-2F JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam Osztályok, objektumok definiálása és alkalmazása. Saját.
Almási Béla - NAT 1 Network Address Translation -NAT.
Hálózatos programok készítése
Logikai programozás 10..
Párhuzamos programozás
Webszervizek (JAX-WS, és JAX-RS) bemutatása
Számítógépes Hálózatok
A CLIPS keretrendszer
Hálózatkezelés Java-ban
Fejlett Webes Technológiák II.
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
Információtechnológiai alapismeretek
Thread és Task.
Előadás másolata:

4. alkalom – Hálózat Kezelés Android tanfolyam 4. alkalom – Hálózat Kezelés

Alapok – DNS/IP DNS Hierechikus fa. Hálózatba kötött gépekhez rendel szöveges azonosítót. IP IPv4: 152.66.208.63 IPv6: 2001:738:2001:2078:0:208:88:0 url: https://trash.sch.bme.hu:8080

Alapok – UDP 1/2 0 7 8 15 16 23 24 31 +--------+--------+--------+--------+ | Forrás | Cél | | Port | Port | | |Ellenőrző összeg | | Hossz | | | | | Adat … | +-----------------------------------+

Alapok – UDP 2/2 Tulajdonságai: Port alapú (0-65535) Nincs garantált csomag kézbesítés! Gyors. (Nincs protokoll overhead) Gyakorlati példa: Média lejátszás hálózaton keresztül (YouTube) telnet ICMP

Alapok – TCP 1/3 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Source Port | Destination Port | | Sequence Number | | Acknowledgment Number | | Data | |U|A|P|R|S|F| | | Offset| Reserved |R|C|S|S|Y|I| Window | | | |G|K|H|T|N|N| | | Checksum | Urgent Pointer | | Options | Padding | | data |

Alapok – TCP 2/3 Tulajdonságai: Port alapú (0-65535) Biztosítja a csomag megérkezését. Összerakja a csomagot. Az UDP-nél lassabb. Minden elküldött csomagot n-szer újra küld ha nem érkezik rá válasz. Gyakorlati alkalmazás: HTTP(S) / SSH /LDAP / DNS (Ez lehet UDP is) /STB

Alapok – TCP 3/3

Java példa program (kliens) //kapcsolat felépítése: try { socketClient = new Socket(ip, 8180); sout = new PrintWriter(socketClient.getOutputStream(), true); sin = new BufferedReader(new InputStreamReader(socketClient.getInputStream())); } catch (Exception e) { // TODO: Exception Handling } //Üzenet küldése: sout.println(”Hello World!”); //Kapcsolat lezárása // TODO: Connection close.

Java példa program (szerver) //szerveren prot nyitás: try { server = new ServerSocket(8180); socketClient = server.accept(); sout = new PrintWriter(socketClient.getOutputStream(), true); sin = new BufferedReader(new InputStreamReader(socketClient.getInputStream())); } catch (Exception e) { // TODO: Exception Handling } // Üzenet fogadása: s = sin.readLine(); System.out.println(s); //Kapcsolat lezárása // TODO: Connection close.

Egy kis kitérés, szál kezelés Az Android nem engedi futni a programot, ha hálózati kommunikáció van a fő szálban! Két megoldás: Runnable (Java) Leszármaztatunk a Runnable osztályból A .run metódust definiáljuk felül A szálat a .start() metódussal indítjuk nem a run()-nal! AsyncTask (Android) Leszármaztatunk az AsyncTask<Params,Progress,Resoult> osztályból A doInBackground(Params…) metódust felül kell definiálnunk hogy menjen Hamarosan lesz róla több szó…

Java példa Szál indítására Thread t=new Thread(new Runnable() { public void run() while(true) System.out.printl(”Ezt addig írom ki, amíg le nem lösz!”) } }); t.start();

UI Thread blokkolása Nem szerencsés User-t zavarja Rendszer kilőheti az appot (ANR) Hálózati kommunikáció nem megengedett Többféle megoldás Runnable – runOnUIThread AsyncTask

AsyncTask Automatikusan kezeli a szálváltást Saját osztályt kell belőle származtatni Meg van a saját életciklusa doInBackground Háttérben fut OnPostExecute UI Thread-en fut

AsyncTask private class SendTask extends AsyncTask<String, Void, Void> { @Override protected Void doInBackground(String... texts) { HttpClient httpClient = new DefaultHttpClient(); HttpPost httpPost = new HttpPost(SERVER_ADDRESS); try { List<NameValuePair> params = new ArrayList<NameValuePair>(); params.add(new BasicNameValuePair("text", texts[0])); httpPost.setEntity(new UrlEncodedFormEntity(params)); HttpResponse response = httpClient.execute(httpPost); } catch (Exception e) { e.printStackTrace(); } return null; Futtatás: new SendTask().execute(new String[] { param });

HTTP kommunikáció Androidon HttpClient-en keresztűl HttpPost/HttpGet objektum használatával HttpClient execute metódusának meghívása

HttpPost HttpClient httpClient = new DefaultHttpClient(); try { List<NameValuePair> params = new ArrayList<NameValuePair>(); params.add(new BasicNameValuePair("text", texts[0])); httpPost.setEntity(new UrlEncodedFormEntity(params)); HttpResponse response = httpClient.execute(httpPost); } catch (Exception e) { e.printStackTrace(); }