HÁLÓZAT SOAP Hagyományos WCF/ASMX webszervizek.

Slides:



Advertisements
Hasonló előadás
© Kozsik Tamás Különböző nyelvekhez igazítás Internationalization - i18n.
Advertisements

C# nyelvi áttekintő A „Programozás C# nyelven (Illés Zoltán)”
4. alkalom – Hálózat Kezelés
Osztály leszármaztatás
Windows Communication Foundation (WCF)
Krizsán Zoltán iit 1.1.  Aszinkron történésről értesítés egy vagy több objektum számára.  Delegátumok segítségével valósítja meg a C#.  event típus,
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Hálózati és Internet ismeretek
Jt Java Feltételek, logikai kifejezések. jt 2 Logikai operátorok Logikai kifejezésekre alkalmazhatók a következő műveletek: 1. nem! 2. és&ill.&& 3. kizáró.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Öröklődés 2..
JavaScript.
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.
Csala Péter ANDN #4. 2 Tartalom  C# - ban előre definiált típusok  Változók  Változókkal műveletek  Elágazás  Ciklus.
7. előadás (2005. április 12.) Láncolt lista File kezelés 1.
Fájlkezelés, IO Kivételkezelés Belső osztályok
1.NET web szolgáltatások WSE 2.0 BPEL Beadandó feladat A félév áttekintése Bilicki Vilmos
Az objektum-orientált tervezési alapelvek kritikai vizsgálata
Java programozási nyelv 3. rész – Osztályok I.
Hálózatkezelés, java.net Elek Tibor
C# tagfüggvények.
C# osztályok Krizsán Zoltán 1.0.
C# tagfüggvények.
Krizsán Zoltán iit 1.2.  Nem kell vizuális felületnek lennie.  Delegátumok segítségével valósíthatja meg a.NET. Krizsán Zoltán iit Delegátumok C#-ban2.
Szmetankó Gábor Greencode Kft.
V 1.0 Szabó Zsolt, Óbudai Egyetem, Haladó Programozás Eseménykezelés ismétlés Névtelen metódusok (anonymous methods)
Számítógépes Hálózatok
Delphi programozás 8. ELŐADÁS ADO ActiveX Data Objects.
SOAP alapismeretek A SOAP egy egyszerű XML alapú protokoll, ami lehetővé teszi, hogy az alkalmazások információt cseréljenek a HTTP-én keresztül. Forrás:
A megértés körei Binzberger Viktor Budapest Műszaki és Gazdaságtudományi Egyetem Filozófia és Tudománytörténet Tanszék.
PHP III. Fájlok, űrlapok.
V 1.0 OE-NIK HP 1 Programozási Paradigmák és Technikák Eseménykezelés Névtelen metódusok (anonymous methods)
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:
J.Zs.Cs.: Vizuális programozás (c) 2010 Vizuális programozás Fájl- és állományrendszer kezelés Névtér: System.IO.
1. Gyakorlat - Alapok 1. Írjon konzolprogramot, amely kiírja a “Hello ELTE” üzenetet! Használja a System.out.println() -t! 2. Írjon konzolprogramot, amely.
Objektum orientált programozás a gyakorlatban
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.
Hernyák Zoltán Programozási Nyelvek II.
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.
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.
1 AAO folytatás ++ Csink László. 2 Rekurzív bináris keresés (rendezett tömbben) public static int binker(int[] tomb, int value, int low, int high) public.
A D programozási nyelv Angeli Dávid. Nagy vonalakban  C++  
Java programozási nyelv Filekezelés
Komoróczy Tamás 1 Java programozási nyelv Stringek.
Java programozási nyelv Adatbekérés konzolról
WEB Technológiák WEB-DB és XML ME Általános Informatikai Tsz. dr. Kovács László.
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ó.
Illés Zoltán ELTE Informatikai Kar
Spring 2000CS 4611 Protokoll Implementáció elelmei Vázlat Szolgáltatási Interfész Folyamat Modell Közös Szubrutinok Példa Protokoll.
Példa. Az ábrázolás szemléltetése.  = ({stack, elem },{ create :  stack; push : stack elem  stack}),  = ( {vector, nat, elem}, { create c :  vector.
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.
Krizsán Zoltán, iit C# osztályok 2 Adattagok  Osztály hatáskörben definiált változó.  Formája: [attribútum] [módosító] típus azonosító [=kezdő érték][,
Bevezetés a C# nyelvbe Az alapok összefoglalása Farkas Csaba.
Hálózatos programok készítése
Webszervizek (JAX-WS, és JAX-RS) bemutatása
Eseménykezelés ismétlés Névtelen metódusok (anonymous methods)
Web technológia alapjai
A CLIPS keretrendszer
Hálózatkezelés Java-ban
B M Java Programozás 9. Gy: Java alapok IT A N Adatkezelő 5.rész
B M Java Programozás 1. Gy: Java alapok IT A N Ismétlés ++
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
Folyamatok.
Előadás másolata:

HÁLÓZAT SOAP Hagyományos WCF/ASMX webszervizek

REST A webszerviz vezérlése URI-ken keresztül HÁLÓZAT REST A webszerviz vezérlése URI-ken keresztül HttpGet, HttpPut, HttpDelete, HttpPost Bookmarks GetUserPublicBookmarks(string username, string tag) http://contoso.com/bookmarkservice/{username}?tag={tag}

OData Adatok lekérdezése REST „stílusban” HÁLÓZAT OData Adatok lekérdezése REST „stílusban” Az adatok tipikusan XML formában (pl JSON vagy ATOM) vannak formázva

HÁLÓZAT WebClient Viszonylag magas szintű eszköz HTTP alapú kommunikáció kezelésére

WebClient HÁLÓZAT WebClient webClient = new WebClient(); // String letöltése webClient.DownloadProgressChanged += (sender, args) => { var bytesRecieved = args.BytesReceived; var totalBytesToRecieve = args.TotalBytesToReceive; var percentage = args.ProgressPercentage; }; webClient.DownloadStringCompleted += (sender, args) => var downloadedString = args.Result; webClient.DownloadStringAsync(new Uri("http://wp7.devportal.hu/"));

HÁLÓZAT HttpWebRequest Alacsony szintű eszköz HTTP alapú kommunikáció kezelésére Hozzáférés a headerekhez

HttpWebRequest HÁLÓZAT HttpWebRequest request = HttpWebRequest.Create("http://wp7.devportal.hu") as HttpWebRequest; request.BeginGetResponse((iar) => { using (var responseStream = request.EndGetResponse(iar).GetResponseStream()) byte[] bytes = new byte[(int)responseStream.Length]; responseStream.Read(bytes, 0, (int)responseStream.Length); string responseString = Encoding.UTF8.GetString(bytes, 0, bytes.Length); } }, null);

HÁLÓZAT Sockets Igazán alacsony szintű eszköz TCP vagy UDP alapú kommunikáció kezelésére TCP Kapcsolat orientált Megbízható kommunikáció UDP Kapcsolatmentes Nem megbízható

HÁLÓZAT Sockets // Osztályszintű (cached) Socket objektum. Ezt fogjuk minden hívásnál használni Socket _socket = null; // Jelzőobjektum az aszinkron műveletek befejezésének jelzésére static ManualResetEvent _clientDone = new ManualResetEvent(false); // Timeout időtartam miliszekundomban const int TIMEOUT_MILLISECONDS = 5000; // Maximálus buffer méret az üzeneteknek const int MAX_BUFFER_SIZE = 2048;

Sockets HÁLÓZAT public string Connect(string hostName, int portNumber) { string result = string.Empty; DnsEndPoint hostEntry = new DnsEndPoint(hostName, portNumber); _socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); SocketAsyncEventArgs socketEventArg = new SocketAsyncEventArgs(); socketEventArg.RemoteEndPoint = hostEntry; socketEventArg.Completed += delegate(object s, SocketAsyncEventArgs e) result = e.SocketError.ToString(); _clientDone.Set(); }; _clientDone.Reset(); _socket.ConnectAsync(socketEventArg); _clientDone.WaitOne(TIMEOUT_MILLISECONDS); return result; }

Sockets HÁLÓZAT public string Send(string data) { string response = "Operation Timeout"; if (_socket != null) SocketAsyncEventArgs socketEventArg = new SocketAsyncEventArgs(); socketEventArg.RemoteEndPoint = _socket.RemoteEndPoint; socketEventArg.UserToken = null; socketEventArg.Completed += delegate(object s, SocketAsyncEventArgs e) response = e.SocketError.ToString(); _clientDone.Set(); }; byte[] payload = Encoding.UTF8.GetBytes(data); socketEventArg.SetBuffer(payload, 0, payload.Length); _clientDone.Reset(); _socket.SendAsync(socketEventArg); _clientDone.WaitOne(TIMEOUT_MILLISECONDS); } else response = "Socket is not initialized"; return response;

Sockets HÁLÓZAT public string Receive() { string response = "Operation Timeout"; if (_socket != null) SocketAsyncEventArgs socketEventArg = new SocketAsyncEventArgs(); socketEventArg.RemoteEndPoint = _socket.RemoteEndPoint; socketEventArg.SetBuffer(new Byte[MAX_BUFFER_SIZE], 0, MAX_BUFFER_SIZE); socketEventArg.Completed += delegate(object s, SocketAsyncEventArgs e) if (e.SocketError == SocketError.Success) response = Encoding.UTF8.GetString(e.Buffer, e.Offset, e.BytesTransferred); response = response.Trim('\0'); } else response = e.SocketError.ToString(); _clientDone.Set(); }; _clientDone.Reset(); _socket.ReceiveAsync(socketEventArg); _clientDone.WaitOne(TIMEOUT_MILLISECONDS); else response = "Socket is not initialized"; return response;

Sockets HÁLÓZAT public void Close() { if (_socket != null) _socket.Close(); }

Sockets És végül az előző oldalakon bemutatott osztály használata: HÁLÓZAT Sockets És végül az előző oldalakon bemutatott osztály használata: SocketClient client = new SocketClient(); client.Connect(remoteHost, remotePort); client.Send("Hello World"); client.Receive(); client.Close();