Programowanie sieciowe
|
|
- Zofia Nowakowska
- 8 lat temu
- Przeglądów:
Transkrypt
1 Programowanie sieciowe Wykład 5: Java sieciowa cd. mgr inŝ. Paweł Kośla mgr Marcin Raniszewski Łódź,
2 Plan wykładu ServerSocket serwer TCP DatagramSocket i DatagramPacket UDP FTP 2
3 Serwer TCP Gniazdo serwerowe ma za zadanie nasłuchiwania na podanym porcie zgłoszeń klientów i następnie obsługiwanie połączenia z nim. Klasa ServerSocket MoŜliwość obsługi wielu klientów. Połączenie dwukierunkowe. Transmisja strumieniowa. Jeden proces moŝe słuchać na danym porcie w danym czasie. 3
4 Typologia serwerów Rodzaje serwerów: serwer jednowątkowy serwer pozornie wielowątkowy serwer wielowątkowy 4
5 Typologia serwerów Serwer jednowątkowy: Obsługa klienta Oczekiwanie Cechy: prostota budowy moŝliwość obsługi tylko jednego klienta naraz kolejny klient musi długo czekać na swoją kolej 5
6 Typologia serwerów Serwer pozornie wielowątkowy: elementy obsługi klienta 1 Sprawdzenie Dołączenie nowego klienta elementy obsługi klienta 2... elementy obsługi klienta n Cechy: zaawansowana budowa moŝliwość obsługi kilku klientów naraz kolejny klient musi czekać aŝ wykonana zostanie tura obsługi podłączonych 6 klientów
7 Typologia serwerów Serwer wielowątkowy: Wątek główny Utworzenie nowego procesu Wątek potomny Początek Wątek potomny Początek Oczekiwanie Obsługa klienta Obsługa klienta Cechy: same zalety moŝliwość obsługi kilku klientów naraz nowi klienci obsługiwani są natychmiastowo Koniec Koniec 7
8 Serwer TCP Podstawowy schemat serwera: open bind accept read write close close2 ServerSocket() open bind accept read write close close2 tworzy gniazdo serwera łączy stworzone gniazdo z lokalnym portem nasłuchuje i akceptuje połączenia od klientów pobiera dane ze strumienia otwartego połączenia z klientem wysyła dane zamyka połączenie zamyka serwer 8
9 Serwer TCP Realizacja serwera jednowątkowego: ServerSocket() accept open connect read write write read close close close2 serwer klient 9
10 Serwer TCP Realizacja serwera wielowątkowego: wątek open connect ServerSocket() accept read write close write/read close klient 2 serwer close2 wątek open connect read write write/read close close klient 1 10
11 Serwer TCP Jeszcze lepszy serwer wielowątkowy: ServerSocket() x10 createthread() open connect write/read close klient 1 serwer close2 wątek accept wątek accept wątek accept read write read write... read write close close close 11
12 Serwer TCP tworzenie Do tworzenia gniazd serwera TCP słuŝą konstruktory: public ServerSocket(int port) throws IOException public ServerSocket(int port, int backlog) throws IOException public ServerSocket(int port, int backlog, InetAddress bindaddr) throws IOException Najczęściej wykorzystuje się pierwszy konstruktor, podając numer portu na którym serwer ma nasłuchiwać: try { ServerSocket ss = new ServerSocket(80); catch (IOException e) { System.err.println(e); 12
13 Serwer TCP tworzenie Podczas tworzenia obiektu ServerSocket obiekt ten próbuje dowiązać się do wskazanego portu na lokalnym hoście (ang. binding). Jeśli port jest juŝ zajęty wyrzucony zostanie wyjątek: java.net.bindexception z klasy bazowej java.io.ioexception Tworzenie własnych serwerów na portach >1024. W systemach Unixowych programy korzystające z portów pomiędzy 1 a 1023 muszą mieć juŝ uprawnienia administratora. Port nr 0. Numer ten mówi Javie, aby skorzystała z pierwszego wolnego portu. Wybrany automatycznie numer portu moŝna odczytać za pomocą metody getlocalport(). try { ServerSocket ftpdata = new ServerSocket(0); int port = ftpdata.getlocalport(); catch (IOException e) { System.err.println(e); 13
14 Serwer TCP tworzenie Skaner portów lokalnych. Sprawdzenie na których portach są juŝ aktywne połączenia. Porównaj z "netstat -an" import java.net.*; import java.io.*; public class SkanerLoc { public static void main(string[] args) { int startport = 1; int stopport = 65535; for (int port = startport; port <= stopport; port++) { try { ServerSocket ss = new ServerSocket(port); ss.close(); catch (IOException ex) { System.out.println("Port " + port + " jest zajety."); 14
15 Serwer TCP Kolejka połączeń System operacyjny zapamiętuje połączenia przychodzące dla kaŝdego portu w kolejce typu FIFO aŝ do jej zapełnienia. Po zapełnieniu kolejki następne połączenia przychodzące będą odrzucane, chyba, Ŝe w kolejce zwolni się jakieś miejsce. Długość kolejki zaleŝy od systemu operacyjnego (5-50). Klient Klient Serwer Klient Klient 15
16 Serwer TCP tworzenie Rozmiar kolejki połączeń moŝe zostać zmieniony w zaleŝności od potrzeb. Wykorzystujemy do tego drugi konstruktor: public ServerSocket(int port, int backlog) throws IOException Przykład: try { ServerSocket httpd = new ServerSocket(80, 50); catch (IOException ex) { System.err.println(ex); KaŜdy system operacyjny ma określoną maksymalną długość kolejki. Jeśli więc zadeklarowana będzie kolejka dłuŝsza niŝ istniejące maksimum, to długość kolejki zawęŝona będzie do wartości maksymalnej. Po utworzeniu gniazda serwera długość kolejki nie moŝe być juŝ zmieniana. 16
17 Serwer TCP tworzenie Komputer moŝe uŝywać wielu interfejsów sieciowych Host Poprzednio stworzone gniazda nasłuchują na wszystkich interfejsach. Do stworzenia gniazda serwera tylko dla wybranego interfejsu słuŝy: public ServerSocket(int port, int backlog, InetAddress bindaddr) throws IOException Przykład: try { InetAddress ia = InetAddress.getByName(" "); ServerSocket ss = new ServerSocket(80, 50, ia); catch (IOException e) { System.err.println(e); 17
18 Serwer TCP tworzenie Istnieje moŝliwość rozbicia tworzenia obiektu ServerSocket i przywiązania do portu. Wykorzystujemy wówczas konstruktor i metodę bind: public ServerSocket() throws IOException public void bind(socketaddress endpoint) throws IOException Odczyt informacji o gnieździe (tylko lokalne informacje): public InetAddress getinetaddress() public int getlocalport() 18
19 Serwer TCP nasłuchiwanie Po stworzeniu gniazda serwer czeka na zgłoszenia klientów. Odpowiedzialna za to jest metoda: public Socket accept() throws IOException Metoda nasłuchuje i akceptuje połączenia z klientem (czekającym w kolejce). Zwraca obiekt klasy Socket, reprezentujący połączenie klient-serwer. Jest to metoda blokująca. Blokuje wykonywanie dalszych instrukcji dopóki nie nastąpi połączenie. MoŜna zmienić opcje blokującej metody accept() public void setsotimeout(int timeout) throws SocketException timeout czas czekania na połączenie od klienta (0 domyślne, oznacza nieskończoność). Wówczas metoda accept moŝe zwrócić wyjątek SocketTimeoutException gdy czas nasłuchiwania minie. 19
20 Serwer TCP akceptowanie ServerSocket Klient accept() Socket read/write Serwer 20
21 Serwer TCP połączenie Połączenie z klientem realizowane jest za pomocą obiektu gniazda Socket Odczytywanie informacji o połączeniu jak w przypadku Klienta TCP Wysyłanie i odbieranie danych takie samo jak w Kliencie TCP 21
22 Serwer TCP zakończenie Metoda close() klasy Socket kończy konkretne połączenie klientserwer. Serwer dalej działa. Aby zakończyć działanie serwera naleŝy wykonać metodę close() na obiekcie klasy ServerSocket 22
23 Serwer TCP Fragment serwera: try { ServerSocket ss = new ServerSocket(2345); Socket s = ss.accept(); PrintWriter pw = new PrintWriter(s.getOutputStream()); pw.println("hello!"); pw.println("goodbye"); s.close(); ss.close(); catch (IOException e) { System.err.println(e); close() zamyka połączenie gniazda Socket s 23
24 Serwer TCP Fragment serwera wielokrotnie akceptującego połączenia: try { ServerSocket ss = new ServerSocket(2345); while (bstop==false) { Socket s = ss.accept(); PrintWriter pw = new PrintWriter(s.getOutputStream()); pw.println("hello!"); pw.println("goodbye"); s.close(); ss.close(); catch (IOException e) { System.err.println(e); 24
25 Serwer TCP - podsumowanie Opisane metody pozwalają obsługiwać klientów po kolei. Do obsługiwania wielu klientów jednocześnie wykorzystujemy wielowątkowość. Serwer startujemy na porcie, który później poznaje klient. Oczekujemy zgłoszeń klientów i następnie tworzymy komunikację między gniazdami Socket-Socket. 25
26 Komunikacja UDP Niepewna transmisja zagubione datagramy Brak kontroli przepływu datagramy w róŝnych kolejnościach Transmisja szybsza od TCP Wiadomość zawiera się w pojedynczym komunikacie UDP (dane nie większe niŝ ok. 60kB) Do obsługi komunikacji UDP słuŝą klasy: DatagramSocket gniazdo datagramowe DatagramPacket pakiet UDP (zamiast strumieni TCP) Host 1 Host 2 26
27 Komunikacja UDP DatagramSocket jest uŝywane do wysyłania i odbierania DatagramPacket DatagramPacket jest nakładką dla tablicy bajtów, z której dane będą wysyłane lub do której dane będą przyjmowane. Obiekt tej klasy przechowuje takŝe adres i port hosta, do którego dane będą wysłane. DatagramSocket jest połączeniem do portu, z którego nadawane i odbierane są przesyłki. Nie ma rozróŝnienia między klientem a serwerem DatagramSocket moŝe wysyłać do róŝnych odbiorców gdyŝ adres odbiorcy zapisany jest w pakiecie a nie w gnieździe. 27
28 UDP - DatagramPacket Nakładka dla tablicy bajtów. Zawiera takŝe port i adres hosta do którego dane będą wysłane (lub z którego dane zostały odebrane) Do tworzenia pakietu słuŝą konstruktory: public DatagramPacket(byte[] data, int length) public DatagramPacket(byte[] data, int length, InetAddress host, int port) Pozwalają przekazać obiektowi DatagramPacket tablicę bajtów oraz liczbę bajtów, która ma być wysłana. String s = "Wiadomosc do odbiorcy" byte[] b = s.getbytes(); DatagramPacket dp = new DatagramPacket(b, b.length); UŜywamy tylko gdy gniazdo zostało przypisane do jakiegoś odbiorcy metoda connect() (bardzo rzadko) 28
29 UDP - DatagramPacket Tradycyjnie powinno podać się adres odbiorcy i port na który wysyłamy. try { InetAddress host = InetAddress.getByName(" "); int port = 1111; String s = "Wiadomosc do odbiorcy2" byte[] b = s.getbytes(); DatagramPacket dp = new DatagramPacket(b, b.length, host, port); catch (UnknownHostException ex) { System.err.println(ex); Tablica bajtów jest przekazywana do konstruktora przez referencję. Dlatego jeśli jej zawartość zostanie zmieniona poza obiektem, to zmiany te dotyczyć będą równieŝ danych w DatagramPacket 29
30 UDP - DatagramPacket Obiekty są modyfikowalne, tzn. Ŝe moŝna zmienić ich parametry takie jak: dane, długość danych, port, adres. Robi się to za pomocą metod: public void setaddress(inetaddress host) public void setport(int port) public void setdata(byte buffer[]) public void setlength(int length) Do odczytu wspomnianych właściwości moŝna uŝyć metod: public InetAddress getaddress() public int getport() public byte[] getdata() public int getlength() Te drugie szczególnie przydają się przy odbieraniu pakietów. 30
31 UDP - DatagramSocket Mamy juŝ pakiet, teraz trzeba go wysłać. Do tworzenia datagramowych gniazd uŝywamy konstruktorów: public DatagramSocket() throws SocketException public DatagramSocket(int port) throws SocketException public DatagramSocket(int port, InetAddress laddr) throws SocketException Pierwszy uŝywany jest do gniazd datagramowych działających w trybie klienta (tylko do wysyłania, z pierwszego wolnego portu) Dwa następne mają dodatkowo moŝliwość nasłuchiwania i odbierania pakietów na wskazanym porcie i opcjonalnie tylko ze wskazanego interfejsu. Wysyłanie takim gniazdem następuje z podanego portu. Tak jak w TCP, tylko jeden proces moŝe nasłuchiwać na danym porcie (porty TCP i UDP są rozdzielne) 31
32 UDP - DatagramSocket UDP Port 445 zajety UDP Port 500 zajety UDP Port 1033 zajety UDP Port 1060 zajety UDP Port 1081 zajety UDP Port 1900 zajety Skaner portów lokalnych import java.net.*; import java.io.ioexception; public class UDPSkaner { public static void main(string[] args) { int startport = 1; int stopport = 65535; for (int port = startport; port <= stopport; port++) { try { DatagramSocket ds = new DatagramSocket(port); ds.close(); catch (IOException ex) { System.out.println("UDP Port " + port + " zajety"); PoniewaŜ UDP nie korzysta z połączeń, nie moŝna napisać skanera zdalnych portów UDP. 32
33 UDP wysyłanie danych Przekonwertować dane na tablicę bajtów. Przekazać do konstruktora DatagramPacket tablicę, razem z długością danych umieszczonych w tablicy, oraz InetAddress z numerem portu, pod który wysyłane będą dane. Wykonać metodę send() na obiekcie DatagramSocket try { InetAddress host = InetAddress.getByName(" "); int port = 1111; String s = "Wiadomosc do odbiorcy2" byte[] b = s.getbytes(); DatagramPacket dp = new DatagramPacket(b, b.length, host, port); DatagramSocket sender = new DatagramSocket(); sender.send(dp); catch (UnknownHostException ex) { System.err.println(ex); catch (IOException e) { System.out.println(e); 33
34 UDP odbieranie danych Utworzyć obiekt klasy DatagramSocket przekazując co najmniej numer portu, na którym będzie prowadzony nasłuch. Przekazać pusty obiekt DatagramPacket do metody receive() gniazda DatagramSocket. public void receive(datagrampacket dp) throws IOException Wątek wywołujący tą metodę zablokuje się, aŝ do chwili otrzymania pakietu. Po otrzymaniu pakietu obiekt DatagramPacket wypełniony zostanie danymi (takŝe hostem i portem nadawcy) try{ DatagramSocket ds = new DatagramSocket(1111); byte buffer[] = new byte[10]; DatagramPacket dp = new DatagramPacket(buffer,buffer.length); ds.receive(dp); byte[] data = dp.getdata(); String s = new String(data, 0, data.length); System.out.println(s); System.out.println(dp.getPort()); catch(ioexception e) { System.out.println(e); 34
35 UDP - gniazda Istnieje moŝliwość przywiązania gniazda UDP do hosta i portu zdalnego. Metoda klasy DatagramSocket: public void connect(inetaddress address, int port) Mimo sugerującej nazwy, nie następuje proces łączenia ze zdalnym hostem. Dzięki niej gniazdo takie, ma moŝliwość wysyłania i odbierania pakietów UDP do/z podanego zdalnego hosta i portu. UŜywamy wówczas konstruktora pakietu: public DatagramPacket(byte[] data, int length) Próba wykorzystania drugiego (przekazując inny host lub port od tego związanego funkcja connect() ) kończy się niepowodzeniem. try{ DatagramSocket ds = new DatagramSocket(1234); String s = "Komunikat" ; byte[] b = s.getbytes(); InetAddress host = InetAddress.getByName(" "); ds.connect(host,1111); DatagramPacket dp = new DatagramPacket(b, b.length); ds.send(dp); catch(ioexception e){ System.out.println(e); 35
36 UDP - rozgłaszanie Jeśli chcemy wysłać pakiet do wszystkich hostów w sieci, adresujemy obiekt DatagramPacket adresem rozgłoszeniowym. try{ DatagramSocket ds = new DatagramSocket(); String s = "Do wszystkich!!" ; byte[] b = s.getbytes(); InetAddress host = InetAddress.getByName(" "); DatagramPacket dp = new DatagramPacket(b, b.length, host, 1111); ds.send(dp); catch(ioexception e) { System.out.println(e); 36
37 UDP rozgłaszanie grupowe Do rozgłaszania grupowego korzystamy z klasy MulticastSocket, która jest pochodną DatagramSocket. Zdefiniowane są tu dodatkowe metody: public void joingroup(inetaddress mcastaddr) throws IOException public void leavegroup(inetaddress mcastaddr) throws IOException SłuŜą one do zapisywania i wypisywania z grupy. W parametrze przekazujemy obiekt InetAddress reprezentujący adres grupy (adres klasy D) Jeśli następnie wyślemy pakiet na ten adres dotrze on do wszystkich hostów zapisanych. String msg = "Hello"; InetAddress group = InetAddress.getByName(" "); MulticastSocket s = new MulticastSocket(6789); s.joingroup(group); DatagramPacket hi = new DatagramPacket(msg.getBytes(), msg.length(), group, 6789); s.send(hi); 37
38 UDP podsumowanie Przepis na komunikację UDP: 1. Utworzenie obiektu DatagramSocket bez podawania jakichkolwiek argumentów (podanie portu waŝne przy odbieraniu pakietów). 2. Opcjonalnie związanie ze zdalnym hostem metodą connect(). 3. Stworzenie jednego lub kilku obiektów DatagramPacket zawierają tablice bajtów, które naleŝy wysłać lub które zostały odebrane. 4. Jeśli nie została wywołana metoda connect(), to podczas tworzenia obiektów DatagramPacket naleŝy podać obiekt InetAddress oraz numer portu. 5. Określenie długości poszczególnych pakietów oraz przesłanie ich poprzez metodę send(pakietout) 6. Odebranie danych poprzez metodę receive(pakietin) 38
39 Protokół FTP import java.net.*; import java.io.*; public class FTP { public static void main(string[] args) { try{ Socket s = new Socket("ftp.kis.p.lodz.pl",21); klienta BufferedReader we = new BufferedReader(new wspierajacego protokol ftps. InputStreamReader(s.getInputStream()) ); Wersja tekstowa klienta scp: PrintWriter wy = new PrintWriter(s.getOutputStream()); wy.println("user anonymouse"); wy.println("pass a@a.pl"); ty/ wy.println("pwd"); wy.println("quit"); Wersja okienkowa klienta scp: wy.flush(); String line; Wersja okienkowa klienta ftps: while( (line=we.readline())!= null){ System.out.println(line); s.close(); catch(ioexception e) { System.out.println(e); 220- Witaj - UNKNOWN@ksl.tvsat364.lodz.pl Aby pobrac dane z konta uzyj sftp, scp badz FTP server ready 550 SSL/TLS required on the control channel 550 SSL/TLS required on the control channel 550 SSL/TLS required on the control channel 221 Goodbye. 39
Przykłady interfejsu TCP i UDP w Javie
Przykłady interfejsu TCP i UDP w Javie W Javie interfejsy TCP i UDP znajdują się w pakiecie java.net http://docs.oracle.com/javase/6/docs/api/java/net/packagesummary.html 1 Przykład interfejsu UDP Protokół
Bardziej szczegółowoNetworking. Zaawansowane technologie Javy 2019
Networking Zaawansowane technologie Javy 2019 Model klient-serwer W modelu klient-serwer (ang. client-server) dane trzymane są na serwerze, interfejs użytkownika i logika przetwarzania danych są realizowane
Bardziej szczegółowoAplikacja wielowątkowa prosty komunikator
Aplikacja wielowątkowa prosty komunikator Klient 0 (host 1) Wątek 0 Komponent serwera Wątek pochodny 3.1 Klient 1 (host 2) Wątek 1 Komponent serwera Wątek pochodny 3.2 Host 4 Serwer Wątek 3 Klient 2 (host
Bardziej szczegółowoProgramowanie współbieżne i rozproszone
Programowanie współbieżne i rozproszone WYKŁAD 6 dr inż. Komunikowanie się procesów Z użyciem pamięci współdzielonej. wykorzystywane przede wszystkim w programowaniu wielowątkowym. Za pomocą przesyłania
Bardziej szczegółowoProgramowanie rozproszone w języku Java
Wstęp Gniazda RMI Podsumowanie Programowanie rozproszone w języku Java Wojciech Rząsa wrzasa@prz-rzeszow.pl Katedra Informatyki i Automatyki, Politechnika Rzeszowska 25 maja 2015 Wojciech Rząsa, KIiA PRz
Bardziej szczegółowoProgramowanie aplikacji w architekturze Klient-Serwer - UDP
Katedra Inżynierii Komputerowej Koszalin 2002 Programowanie dla sieci Wykłady i ćwiczenia Dariusz Rataj Część 2 Programowanie aplikacji w architekturze Klient-Serwer - UDP Kontakt email: rataj@man.koszalin.pl
Bardziej szczegółowoProgramy typu klient serwer. Programowanie w środowisku rozproszonym. Wykład 5.
Programy typu klient serwer. Programowanie w środowisku rozproszonym. Wykład 5. Schemat Internetu R R R R R R R 2 Model Internetu 3 Protokoły komunikacyjne stosowane w sieci Internet Protokoły warstwy
Bardziej szczegółowoKlient-Serwer Komunikacja przy pomocy gniazd
II Klient-Serwer Komunikacja przy pomocy gniazd Gniazda pozwalają na efektywną wymianę danych pomiędzy procesami w systemie rozproszonym. Proces klienta Proces serwera gniazdko gniazdko protokół transportu
Bardziej szczegółowoAplikacja wielow tkowa prosty komunikator
Aplikacja wielow tkowa prosty komunikator Klient 0 (host 1) W tek 0 Komponent serwera W tek pochodny 3.1 Klient 1 (host 2) W tek 1 Komponent serwera W tek pochodny 3.2 Host 4 Serwer W tek 3 Klient 2 (host
Bardziej szczegółowoGniazda komunikacji sieciowej w środowisku Java
Gniazda komunikacji sieciowej w środowisku Java Dariusz.Wawrzyniak@cs.put.poznan.pl 1 Obsługa gniazd 2 Obsługa komunikacji strumieniowej Obsługa komunikacji pakietowej Pakiet java.net Obsługa gniazd Pakiet
Bardziej szczegółowoKomunikacja z użyciem gniazd aplikacje klient-serwer
Programowanie obiektowe Komunikacja z użyciem gniazd aplikacje klient-serwer Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski @ pwr.wroc.pl Architektura
Bardziej szczegółowoZadanie 2: transakcyjny protokół SKJ (2015)
Zadanie 2: transakcyjny protokół SKJ (2015) 1 Wstęp Zadanie polega na zaprojektowaniu niezawodnego protokołu transakcyjnego bazującego na protokole UDP. Protokół ten ma być realizowany przez klasy implementujące
Bardziej szczegółowoJava programowanie sieciowe
Java programowanie sieciowe Podstawowe pojęcia dotyczące sieci Sieć to zbiór komputerów i innych urządzeń, które mogą się ze sobą komunikować w czasie rzeczywistym za pomocą transmisji danych. Każda maszyna
Bardziej szczegółowoSerwer współbieżny połączeniowy
Serwery współbieżne 1. Serwery współbieżne serwery połączeniowe, usuwanie zakończonych procesów, serwery bezpołączeniowe, 2. Jednoprocesowe serwery współbieżne. koncepcja i implementacja. 1 Serwer współbieżny
Bardziej szczegółowoJAVA I SIECI. MATERIAŁY: http://docs.oracle.com/javase/tutorial/networking/index.html
JAVA I SIECI ZAGADNIENIA: URL, Interfejs gniazd, transmisja SSL, protokół JNLP. MATERIAŁY: http://docs.oracle.com/javase/tutorial/networking/index.html http://th-www.if.uj.edu.pl/zfs/ciesla/ JĘZYK JAVA,
Bardziej szczegółowoProgramowanie w języku Java
Programowanie w języku Java Wykład 4: Programowanie rozproszone: TCP/IP, URL. Programowanie sieciowe w Javie proste programowanie sieciowe (java.net) na poziomie UDP na poziomie IP na poziomie URL JDBC
Bardziej szczegółowoGniazda BSD implementacja w C#
BSD implementacja w C# Implementacja w C#: Przestrzeń nazw: System.Net.Sockets Klasa: public class Socket : IDisposable Implementacja w C#: Konstruktor: public Socket( AddressFamily addressfamily, SocketType
Bardziej szczegółowoSieci komputerowe. Wykład 5: Warstwa transportowa: TCP i UDP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski
Sieci komputerowe Wykład 5: Warstwa transportowa: TCP i UDP Marcin Bieńkowski Instytut Informatyki Uniwersytet Wrocławski Sieci komputerowe (II UWr) Wykład 5 1 / 22 Warstwa transportowa Cechy charakterystyczne:
Bardziej szczegółowoURL. Budowa URL (ang. Uniform Resource Locator): http://java.sun.com:80/docs/tutorial/index.html?name=net working#downloading
Obsługa sieci URL Budowa URL (ang. Uniform Resource Locator): http://java.sun.com:80/docs/tutorial/index.html?name=net working#downloading protokół = http authority = java.sun.com:80 host = java.sun.com
Bardziej szczegółowoJava programowanie w sieci. java.net RMI
Java programowanie w sieci java.net RMI Programowanie sieciowe OSI WARSTWA APLIKACJI (7) WARSTWA PREZENTACJI(6) WARSTWA SESJI (5) WARSTWA TRANSPORTU (4) DoD Warstwa aplikacji (HTTP) Transport (gniazdka)
Bardziej szczegółowoPlatformy Programistyczne Zagadnienia sieciowe i wątki
Platformy Programistyczne Zagadnienia sieciowe i wątki Agata Migalska 27/28 maja 2014 Komunikacja sieciowa 1 Komunikacja sieciowa 2 Wiele wątków 3 Serializacja Architektura typu klient-serwer Architektura
Bardziej szczegółowoAdresy URL. Zaawansowane technologie Javy 2019
Adresy URL Zaawansowane technologie Javy 2019 Podstawowe pojęcia dotyczące sieci Sieć to zbiór komputerów i innych urządzeń, które mogą się ze sobą komunikować w czasie rzeczywistym za pomocą transmisji
Bardziej szczegółowoĆwiczenie 1. Kolejki IBM Message Queue (MQ)
Ćwiczenie 1. Kolejki IBM Message Queue (MQ) 1. Przygotowanie Przed rozpoczęciem pracy, należy uruchomić "Kreator przygotowania WebSphere MQ" oraz przejść przez wszystkie kroki kreatora, na końcu zaznaczając
Bardziej szczegółowoWielowątkowość. Programowanie w środowisku rozproszonym. Wykład 1.
Wielowątkowość Programowanie w środowisku rozproszonym. Wykład 1. Informacje organizacyjne Wymiar godzin: W-30, LAB-15 Zaliczenie wykonanie kilku programów i ich zaliczenie (w trakcie zajęć laboratoryjnych)
Bardziej szczegółowoKOMUNIKACJA MIĘDZYPROCESOWA O B S Ł U G A WEJŚCIA/WYJŚCIA
Wykorzystano fragmenty wykładów M. Piotrowskiego i M. Wójcika KOMUNIKACJA MIĘDZYPROCESOWA O B S Ł U G A WEJŚCIA/WYJŚCIA Waldemar Korłub Platformy Technologiczne KASK ETI Politechnika Gdańska Komunikacja
Bardziej szczegółowoKurs programowania. Wykład 10. Wojciech Macyna. 05 maja 2016
Wykład 10 05 maja 2016 Biblioteka wejścia/wyjścia (Input/Output) import java.io.*; Umożliwia przechowywania danych na nośniku zewnętrznym Dane moga być wysyłane do plików, na drukarkę, do bufora pamięci,
Bardziej szczegółowoK O M U N I K A C J A MIĘDZYPROCESOWA O B S Ł U G A WEJŚCIA/WYJŚCIA
Wykorzystano fragmenty wykładów M. Piotrowskiego i M. Wójcika K O M U N I K A C J A MIĘDZYPROCESOWA O B S Ł U G A WEJŚCIA/WYJŚCIA Waldemar Korłub Platformy Technologiczne KASK ETI Politechnika Gdańska
Bardziej szczegółowoObiekty sieciowe - gniazda Komputery w sieci Internet komunikują się ze sobą poprzez:
Obiekty sieciowe - gniazda Komputery w sieci Internet komunikują się ze sobą poprzez: TCP (Transport Control Protocol) User Datagram Protocol (UDP). TCP/IP (IP - Iternet Protocol) jest warstwowym zestawem
Bardziej szczegółowoĆwiczenie 2. Obsługa gniazd w C#. Budowa aplikacji typu klient-serwer z wykorzystaniem UDP.
Ćwiczenie 2. Obsługa gniazd w C#. Budowa aplikacji typu klient-serwer z wykorzystaniem UDP. Wprowadzenie Gniazdo (ang. socket) z naszego punktu widzenia (czyli programów w.net) reprezentuje najniższy poziom
Bardziej szczegółowoPodstawy i języki programowania
Podstawy i języki programowania Laboratorium 8 - wprowadzenie do obsługi plików tekstowych i wyjątków mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 11 grudnia 2017 1 / 34 mgr inż. Krzysztof
Bardziej szczegółowoJava a dost p do Internetu.
Java a dost p do Internetu. Robert A. Kªopotek r.klopotek@uksw.edu.pl Wydziaª Matematyczno-Przyrodniczy. Szkoªa Nauk cisªych, UKSW 20.04.2017 Java a dost p do Internetu Java Networking - jest koncepcj
Bardziej szczegółowoPodstawowe typy serwerów
Podstawowe typy serwerów 1. Algorytm serwera. 2. Cztery podstawowe typy serwerów. iteracyjne, współbieżne, połączeniowe, bezpołączeniowe. 3. Problem zakleszczenia serwera. 1 Algorytm serwera 1. Utworzenie
Bardziej szczegółowoWybrane działy Informatyki Stosowanej
Wybrane działy Informatyki Stosowanej Dr inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki 2017 APLIKACJE SIECIOWE Definicja Architektura aplikacji sieciowych Programowanie
Bardziej szczegółowoSieci komputerowe. Wykład 7: Transport: protokół TCP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski
Sieci komputerowe Wykład 7: Transport: protokół TCP Marcin Bieńkowski Instytut Informatyki Uniwersytet Wrocławski Sieci komputerowe (II UWr) Wykład 7 1 / 23 W poprzednim odcinku Niezawodny transport Algorytmy
Bardziej szczegółowo1. Co będzie wynikiem wykonania poniŝszych instrukcji? g2d.gettransform().scale(1, -1); g2d.gettransform().translate(4, -8); g2d.drawline(4, 0, 4, 4);
1. Co będzie wynikiem wykonania poniŝszych instrukcji? g2d.gettransform().scale(1, -1); g2d.gettransform().translate(4, -8); g2d.drawline(4, 0, 4, 4); a) b) c) d) 2. Jaki będzie wynik kompilacji i wykonania
Bardziej szczegółowoAplikacje RMI. Budowa aplikacji rozproszonych. Część 2.
Aplikacje RMI Część 2 Budowa aplikacji rozproszonych http://java.sun.com/j2se/1.5.0/docs/guide/rmi/socketfactory/index.html I. Implementacja gniazd dziedziczących po Socket i ServerSocket oraz produkcji
Bardziej szczegółowoWywoływanie metod zdalnych
Wywoływanie metod zdalnych model systemu Wywoływanie metod zdalnych aplikacja kliencka interfejs obiekt serwer Podejście obiektowe do budowy systemów rozproszonych proxy szkielet sieć Istota podejścia
Bardziej szczegółowoWszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną, fotograficzną,
Bardziej szczegółowoSchemat dla UDP. = możliwe zablokowanie aplikacji KLIENT SERWER. s=socket(...) bind(s,...) recvfrom(s,...) sendto(s,...) recvfrom(s,...
Schemat dla UDP = możliwe zablokowanie aplikacji KLIENT s=socket(...) [bind(s,...)] sendto(s,...) recvfrom(s,...) sendto(s,...) close(s) SERWER s=socket(...) bind(s,...) recvfrom(s,...) sendto(s,...) recvfrom(s,...)
Bardziej szczegółowoIteracyjny serwer TCP i aplikacja UDP
Iteracyjny serwer TCP i aplikacja UDP Iteracyjny serwer TCP Funkcje wywoływane przez serwer TCP socket() - bind() - listen() - accept() - read() / write() - close() socket() Creates an endpoint for communication
Bardziej szczegółowoGniazda UDP. Bartłomiej Świercz. Łódź, 3 kwietnia Katedra Mikroelektroniki i Technik Informatycznych. Bartłomiej Świercz Gniazda UDP
Gniazda UDP Bartłomiej Świercz Katedra Mikroelektroniki i Technik Informatycznych Łódź, 3 kwietnia 2006 Wstęp ZewzględunaróżnicewprotokołachTCPiUDPsposób korzystania z gniazd UDP różni sie znacznie od
Bardziej szczegółowoWywoływanie metod zdalnych
Wywoływanie metod zdalnych Podejście obiektowe do budowy systemów rozproszonych Wywoływanie metod zdalnych model systemu obiekt aplikacja kliencka interfejs serwer proxy szkielet sieć Istota podejścia
Bardziej szczegółowo1. Co można powiedzieć o poniższym kodzie? public interface I { void m1() {}; static public void m2() {}; void abstract m3();
1. Co można powiedzieć o poniższym kodzie? public interface I { void m1() {; static public void m2() {; void abstract m3(); default static void m4() {; a) Poprawnie zadeklarowano metodę m1() b) Poprawnie
Bardziej szczegółowoKomunikator internetowy w C#
PAŃSTWOWA WYśSZA SZKOŁA ZAWODOWA W ELBLĄGU INSTYTUT INFORMATYKI STOSOWANEJ Sprawozdanie Komunikator internetowy w C# autor: Artur Domachowski Elbląg, 2009 r. Komunikacja przy uŝyciu poczty internetowej
Bardziej szczegółowoAplikacja Sieciowa wątki po stronie klienta
Aplikacja Sieciowa wątki po stronie klienta Na ostatnich zajęciach zajmowaliśmy się komunikacją pomiędzy klientem a serwerem. Wynikiem naszej pracy był program klienta, który za pomocą serwera mógł się
Bardziej szczegółowoKolejki FIFO (łącza nazwane)
Kolejki FIFO (łącza nazwane) Systemy Operacyjne 2 laboratorium Mateusz Hołenko 6 listopada 2011 Plan zajęć 1 Łącza w systemie Linux kolejki FIFO vs. potoki specyfika łączy nazwanych schemat komunikacji
Bardziej szczegółowoJęzyk JAVA podstawy. Wykład 6, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy Wykład 6, część 2 Jacek Rumiński 1 Język JAVA podstawy Plan wykładu: 1. Wprowadzenie do operacji wejścia/wyjścia: strumienie 2. Podstawowe klasy strumieni i InputStream/OutputStream
Bardziej szczegółowoTCP - receive buffer (queue), send buffer (queue)
BSD sockets c.d. TCP - receive buffer (queue), send buffer (queue) Z każdym gniazdem sieciowym są skojarzone: Bufor do odbierania danych (ang. receive buffer) Przychodzące dane są umieszczane w buforze
Bardziej szczegółowoTworzenie aplikacji rozproszonej w Sun RPC
Tworzenie aplikacji rozproszonej w Sun RPC Budowa aplikacji realizowana jest w następujących krokach: Tworzenie interfejsu serwera w języku opisu interfejsu RPCGEN Tworzenie: namiastki serwera namiastki
Bardziej szczegółowoWykład 2: Podstawy Języka
Wykład 2: Podstawy Języka 1.wprowadzenie 2.podstawy języka 3.sterowanie 4.inicjacja i sprzątanie 5.kontrola dostępu 6.dziedziczenie 7.polimorfizm 8.obsługa błędów 9.kolekcje obiektów 10.wejście i wyjście
Bardziej szczegółowoŁukasz Przywarty Wrocław, r. Grupa: WT/N 11:15-14:00. Sprawozdanie z zajęć laboratoryjnych: OpenSSL - API
Łukasz Przywarty 171018 Wrocław, 17.01.2013 r. Grupa: WT/N 11:15-14:00 Sprawozdanie z zajęć laboratoryjnych: OpenSSL - API Prowadzący: mgr inż. Mariusz Słabicki 1 / 5 1. Treść zadania laboratoryjnego W
Bardziej szczegółowoProgramowanie sieciowe
Programowanie sieciowe Wykład 4: Java sieciowa mgr inŝ. Paweł Kośla mgr Marcin Raniszewski Łódź, 2009 1 Plan wykładu Przegląd java.net InetAddress URL Socket klient TCP ServerSocket serwer TCP 2 Literatura
Bardziej szczegółowoAplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html
Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html Dr inż. Zofia Kruczkiewicz wykład 4 Programowanie aplikacji internetowych, wykład 4 1 1. Zadania aplikacji rozproszonych obiektów
Bardziej szczegółowoZdalne wywołanie metod - koncepcja. Oprogramowanie systemów równoległych i rozproszonych Wykład 7. Rodzaje obiektów. Odniesienie do obiektu
Zdalne wywołanie metod - koncepcja Oprogramowanie systemów równoległych i rozproszonych Wykład 7 RMI (Remote Method Invocation) - obiektowe RPC, dostarcza klientowi interfejs do obiektu, implementacja
Bardziej szczegółowoPrzesyłania danych przez protokół TCP/IP
Przesyłania danych przez protokół TCP/IP PAKIETY Protokół TCP/IP transmituje dane przez sieć, dzieląc je na mniejsze porcje, zwane pakietami. Pakiety są często określane różnymi terminami, w zależności
Bardziej szczegółowoJęzyk JAVA podstawy. wykład 2, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy wykład 2, część 1 1 Język JAVA podstawy Plan wykładu: 1. Rodzaje programów w Javie 2. Tworzenie aplikacji 3. Tworzenie apletów 4. Obsługa archiwów 5. Wyjątki 6. Klasa w klasie! 2 Język
Bardziej szczegółowoOprogramowanie systemów równoległych i rozproszonych Wykład 7
Wykład 7 p. 1/2 Oprogramowanie systemów równoległych i rozproszonych Wykład 7 Dr inż. Tomasz Olas olas@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Zdalne wywołanie
Bardziej szczegółowoTransport. część 2: protokół TCP. Sieci komputerowe. Wykład 6. Marcin Bieńkowski
Transport część 2: protokół TCP Sieci komputerowe Wykład 6 Marcin Bieńkowski Protokoły w Internecie warstwa aplikacji HTTP warstwa transportowa SMTP TCP warstwa sieciowa warstwa łącza danych warstwa fizyczna
Bardziej szczegółowoGniazda surowe. Bartłomiej Świercz. Łódź,9maja2006. Katedra Mikroelektroniki i Technik Informatycznych. Bartłomiej Świercz Gniazda surowe
Gniazda surowe Bartłomiej Świercz Katedra Mikroelektroniki i Technik Informatycznych Łódź,9maja2006 Wstęp Gniazda surowe posiadają pewne właściwości, których brakuje gniazdom TCP i UDP: Gniazda surowe
Bardziej szczegółowoProgramowanie aplikacji w architekturze Klient-Serwer - TCP
Katedra Inżynierii Komputerowej Koszalin 2002 Programowanie dla sieci Wykłady i ćwiczenia Dariusz Rataj Część 1 Programowanie aplikacji w architekturze Klient-Serwer - TCP Kontakt email: rataj@man.koszalin.pl
Bardziej szczegółowoTransport. część 2: protokół TCP. Sieci komputerowe. Wykład 6. Marcin Bieńkowski
Transport część 2: protokół TCP Sieci komputerowe Wykład 6 Marcin Bieńkowski Protokoły w Internecie warstwa aplikacji HTTP SMTP DNS NTP warstwa transportowa TCP UDP warstwa sieciowa IP warstwa łącza danych
Bardziej szczegółowoStrumienie i serializacja
Strumienie i serializacja Prezentacja dostępna na Syriuszu: http://sirius.cs.put.poznan.pl/~inf80156 Klasy: InputStream, OutputStream, Reader i Writer W Javie hierarchia strumieni oparta jest o cztery
Bardziej szczegółowoAplikacje w Javie- wykład 11 Wątki-podstawy
1 Aplikacje w Javie- wykład 11 Wątki-podstawy Treści prezentowane w wykładzie zostały oparte o: Barteczko, JAVA Programowanie praktyczne od podstaw, PWN, 2014 http://docs.oracle.com/javase/8/docs/ http://docs.oracle.com/javase/9/docs/
Bardziej szczegółowoProgramowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz
Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Lemay, Naughton R. Cadenhead Java Podręcznik 2 dla kaŝdego Języka Programowania Java Linki Krzysztof Boone oprogramowania
Bardziej szczegółowoKatedra Architektury Systemów Komputerowych Wydział Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej
Katedra Architektury Systemów Komputerowych Wydział Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej dr inż. Paweł Czarnul pczarnul@eti.pg.gda.pl Architektury usług internetowych laboratorium
Bardziej szczegółowoSystemy Rozproszone - Ćwiczenie 6
Systemy Rozproszone - Ćwiczenie 6 1 Obiekty zdalne Celem ćwiczenia jest stworzenie obiektu zdalnego świadczącego prostą usługę nazewniczą. Nazwy i odpowiadające im punkty końcowe będą przechowywane przez
Bardziej szczegółowoPROTOKOŁY WARSTWY TRANSPORTOWEJ
PROTOKOŁY WARSTWY TRANSPORTOWEJ Na bazie protokołu internetowego (IP) zbudowane są dwa protokoły warstwy transportowej: UDP (User Datagram Protocol) - protokół bezpołączeniowy, zawodny; TCP (Transmission
Bardziej szczegółowoRPC. Zdalne wywoływanie procedur (ang. Remote Procedure Calls )
III RPC Zdalne wywoływanie procedur (ang. Remote Procedure Calls ) 1. Koncepcja Aplikacja wywołanie procedury parametry wyniki wykonanie procedury wynik komputer klienta komputer serwera Zaletą takiego
Bardziej szczegółowoJęzyki i metody programowania Java INF302W Wykład 3 (część 1)
Języki i metody programowania Java INF302W Wykład 3 (część 1) Autor Dr inż. Zofia Kruczkiewicz Autor: Zofia Kruczkiewicz, Języki i metody programowania Java, wykład 3, część 1 1 STRUKTURA WYKŁADU 1. Wyjątki,
Bardziej szczegółowonamespace HostedReceiver { public class Receiver: IConfigureThisEndpoint, AsA_Server {
Pobranie i instalacja: - http://www.nservicebus.com/ - download v3.0 now - rozpakować - MSMQ powinno być zainstalowane (Panel Sterowania -> Dodaj/Usuń programy -> Składniki systemu Windows -> Kolejkowanie
Bardziej szczegółowoZdalna obsługa transcievera. H A M R A D I O D E L U X E R e m o t e S e r v e r C o n f i g u r a t i o n
Zdalna obsługa transcievera H A M R A D I O D E L U X E R e m o t e S e r v e r C o n f i g u r a t i o n Do poprawnej pracy zdalnego dostępu do radiostacji, niezbędne jest działające oprogramowanie Ham
Bardziej szczegółowoArchitektury systemów rozproszonych LABORATORIUM. Ćwiczenie 1
Architektury systemów rozproszonych LABORATORIUM Ćwiczenie 1 Temat: Aplikacja klient-serwer - implementacja w środowisku QT Creator. Przykładowy projekt aplikacji typu klient - serwer został udostępniony
Bardziej szczegółowoMetody Metody, parametry, zwracanie wartości
Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Metody Metody, parametry, zwracanie wartości Metody - co to jest i po co? Metoda to wydzielona część klasy, mająca
Bardziej szczegółowo76.Struktura oprogramowania rozproszonego.
76.Struktura oprogramowania rozproszonego. NajwaŜniejsze aspekty obiektowego programowania rozproszonego to: Współdziałanie (interoperability) modułów programowych na róŝnych maszynach. Wielokrotne wykorzystanie
Bardziej szczegółowo1. Model klient-serwer
1. 1.1. Model komunikacji w sieci łącze komunikacyjne klient serwer Tradycyjny podziała zadań: Klient strona żądająca dostępu do danej usługi lub zasobu Serwer strona, która świadczy usługę lub udostępnia
Bardziej szczegółowoWYJĄTKI. Jest ona jednak czasochłonna i prowadzi do duŝego zapotrzebowania na zasoby systemu.
WYJĄTKI Klasa Throwable Exception Error Klasy dziedziczące po klasie Exception są typami wyjątków, które automatycznie obsługuje Java lub program przy jawnym przechwytywaniu i obsłudze wyjątków w blokach
Bardziej szczegółowoProgramowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków
Programowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków mgr inż. Maciej Lasota Version 1.0, 13-05-2017 Spis treści Wyjątki....................................................................................
Bardziej szczegółowoInstytut Teleinformatyki
Instytut Teleinformatyki Wydział Inżynierii Elektrycznej i Komputerowej Politechnika Krakowska programowanie usług sieciowych Dziedzina Unix laboratorium: 06 Kraków, 2014 06. Programowanie Usług Sieciowych
Bardziej szczegółowoWydział Informatyki, Elektroniki i Telekomunikacji Katedra Telekomunikacji
Wydział Informatyki, Elektroniki i Telekomunikacji Katedra Telekomunikacji Bezpieczeństwo sieci teleinformatycznych Laboratorium 5 Temat: Polityki bezpieczeństwa FortiGate. Spis treści 2. Cel ćwiczenia...
Bardziej szczegółowoPodstawy programowania obiektowego
Podstawy programowania obiektowego Technologie internetowe Wykład 5 Program wykładu Podejście obiektowe kontra strukturalne do tworzenie programu Pojęcie klasy i obiektu Składowe klasy: pola i metody Tworzenie
Bardziej szczegółowosieć 4) Mechanizm RMI jest zazwyczaj wykorzystywany w rozwiązaniach typu klient-serwer.
RMI (Remote Method Invocation) zdalne wywołanie metod Część 1 1) RMI jest mechanizmem, który pozwala danej aplikacji: wywoływać metody obiektów zdalnych oraz uzyskać dostęp do obiektów zdalnych (np. w
Bardziej szczegółowoWątek - definicja. Wykorzystanie kilku rdzeni procesora jednocześnie Zrównoleglenie obliczeń Jednoczesna obsługa ekranu i procesu obliczeniowego
Wątki Wątek - definicja Ciąg instrukcji (podprogram) który może być wykonywane współbieżnie (równolegle) z innymi programami, Wątki działają w ramach tego samego procesu Współdzielą dane (mogą operować
Bardziej szczegółowoProgramowanie równoległe i rozproszone. Monitory i zmienne warunku. Krzysztof Banaś Programowanie równoległe i rozproszone 1
Programowanie równoległe i rozproszone Monitory i zmienne warunku Krzysztof Banaś Programowanie równoległe i rozproszone 1 Problemy współbieżności Problem producentów i konsumentów: jedna grupa procesów
Bardziej szczegółowoRemote Method Invocation 17 listopada 2010
Podejście obiektowe do budowy systemów rozproszonych interfejs (w języku Java), wywiedziony z Remote obiekt aplikacja klienckak interfejs serwer stub szkielet sieć Mechanizm RMI umożliwia tworzenie obiektów
Bardziej szczegółowoPHP: bloki kodu, tablice, obiekty i formularze
1 PHP: bloki kodu, tablice, obiekty i formularze SYSTEMY SIECIOWE Michał Simiński 2 Bloki kodu Blok if-else Switch Pętle Funkcje Blok if-else 3 W PHP blok if i blok if-else wyglądają tak samo i funkcjonują
Bardziej szczegółowoJęzyki i metody programowania Java. Wykład 2 (część 2)
Języki i metody programowania Java INF302W Wykład 2 (część 2) Autor Dr inż. Zofia Kruczkiewicz 1 Struktura wykładu 1. Identyfikacja danych reprezentowanych przez klasy podczas opracowania koncepcji prostego
Bardziej szczegółowoObiektowe programowanie rozproszone Java RMI. Krzysztof Banaś Systemy rozproszone 1
Obiektowe programowanie rozproszone Java RMI Krzysztof Banaś Systemy rozproszone 1 Java RMI Mechanizm zdalnego wywołania metod Javy (RMI Remote Method Invocation) posiada kilka charakterystycznych cech,
Bardziej szczegółowoPodstawy obiektowości
Podstawy obiektowości Zad. Zamówienie 1. Napisać program do obsługi zamówień. Program powinien składać się z dwóch klas: Zamowienie oraz Pozycja, przy czym każde zamówienie zawierać może jedną lub więcej
Bardziej szczegółowoWykład 4: Protokoły TCP/UDP i usługi sieciowe. A. Kisiel,Protokoły TCP/UDP i usługi sieciowe
N, Wykład 4: Protokoły TCP/UDP i usługi sieciowe 1 Adres aplikacji: numer portu Protokoły w. łącza danych (np. Ethernet) oraz w. sieciowej (IP) pozwalają tylko na zaadresowanie komputera (interfejsu sieciowego),
Bardziej szczegółowoPodejście obiektowe do budowy systemów rozproszonych
Podejście obiektowe do budowy systemów rozproszonych interfejs (w języku Java), wywiedziony z Remote obiekt aplikacja kliencka interfejs serwer stub szkielet sieć Dariusz Wawrzyniak (IIPP) 1 Mechanizm
Bardziej szczegółowoZadanie polega na stworzeniu bazy danych w pamięci zapewniającej efektywny dostęp do danych baza osób.
Zadanie: Zadanie polega na stworzeniu bazy danych w pamięci zapewniającej efektywny dostęp do danych baza osób. Na kolejnych zajęciach projekt będzie rozwijana i uzupełniana o kolejne elementy omawiane
Bardziej szczegółowoUnicast jeden nadawca i jeden odbiorca Broadcast jeden nadawca przesyła do wszystkich Multicast jeden nadawca i wielu (podzbiór wszystkich) odbiorców
METODY WYMIANY INFORMACJI W SIECIACH PAKIETOWYCH Unicast jeden nadawca i jeden odbiorca Broadcast jeden nadawca przesyła do wszystkich Multicast jeden nadawca i wielu (podzbiór wszystkich) odbiorców TRANSMISJA
Bardziej szczegółowoRemote Method Invocation 17 listopada Dariusz Wawrzyniak (IIPP) 1
interfejs (w języku Java), wywiedziony z Remote obiekt Podejście obiektowe do budowy systemów rozproszonych aplikacja kliencka interfejs serwer stub szkielet sieć Mechanizm RMI umożliwia tworzenie obiektów
Bardziej szczegółowoWykład 8: klasy cz. 4
Programowanie obiektowe Wykład 8: klasy cz. 4 Dynamiczne tworzenie obiektów klas Składniki statyczne klas Konstruktor i destruktory c.d. 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD
Bardziej szczegółowoKomponenty sterowane komunikatami
Komponenty sterowane komunikatami 1. Usługa JMS asynchroniczność, model przesyłania komunikatów, 2. Przykład wysyłanie wiadomości, odbieranie wiadomości, komponent sterowany komunikatami 3. Komponenty
Bardziej szczegółowoKlasy w java.net. ContentHandlerFactory FileNameMap SocketImplFactory URLStreamHandlerFactory. Adres internetowy
Klasy w java.net Klasy Interfejsy Wyjątki ContentHandler DatagramPacket DatagramSocket DatagramSocketImpl HttpURLConnection InetAddress MulticastSocket ServerSocket Socket SocketImpl URL URLConnection
Bardziej szczegółowoKonfigurowanie konta pocztowego w programie Netscape (wersja 7.2)
Konfigurowanie konta pocztowego w programie Netscape (wersja 7.2) Netscape to tak naprawdę kilka programów (m. in. przeglądarka stron WWW i klient pocztowy). Jeśli uruchomiliśmy program Netscape jako przeglądarkę
Bardziej szczegółowoInstrukcja do laboratorium Systemów Operacyjnych. (semestr drugi)
Instrukcja do laboratorium Systemów Operacyjnych (semestr drugi) Ćwiczenie dziesiąte Temat: Gniazda BSD protokoły internetowe Opracowanie: mgr in ż. Arkadiusz Chrobot Wprowadzenie 1. Usługi sieciowe w
Bardziej szczegółowoDokumentacja do API Javy.
Dokumentacja do API Javy http://java.sun.com/j2se/1.5.0/docs/api/ Klasy i obiekty Klasa jest to struktura zawierająca dane (pola), oraz funkcje operujące na tych danych (metody). Klasa jest rodzajem szablonu
Bardziej szczegółowoPodstawowe pojł cia. Czego sił nauczymy? Pojł cia hosta. Hosty Adresowanie Internetowe Porty Protokoóy
Czego sił nauczymy? Podstawowe pojł cia Adresowania w Internecie URL CGI Servlety i JSP Sokety Sokety dla aplikacji serwerowych UDP Obsóuga XMLa z poziomu Javy z wykorzystaniem interfejso w SAX i DOM WebServices,
Bardziej szczegółowo