Inter-Process Communication: Processler-Arası İletişim Network Programming using Java Sockets Java Soketleri kullanarak Ağ Programlama.

Slides:



Advertisements
Benzer bir sunumlar
DOÇ. DR.MEHMET ERDOĞAN AKDENİZ ÜNİVERSİTESİ
Advertisements

TCP/IP PROTOKOLÜ. TCP/IP NEDİR? Protokol bir iletişim sürecinde bu bağlantıyı sağlayan noktalar arasındaki gidip gelen mesajlaşmayı düzenleyen kurallar.
Veri Tabanı Yönetim Sistemleri Hafta 1. 2 Temel Kavramlar Veri Olguların, kavramların, veya talimatların, insan tarafından veya otomatik yolla iletişim,
Muammer Benzeş MVP (IIS) Bulut Bilişim /muammerbenzes.
Dünyanın bilgisine açılan pencere... Ya da sadece yeni çağın eğlencesi...
BÖLÜM 12: INTERNET VE INTRANET UYGULAMALARI. INTRANET: Organizasyonlar giderek artan bir oranda işlerinin ihtiyaçlarına cevap verebilmek amacıyla Internet.
BULUT BİLİŞİM M. KÜRŞAT YILDIRIM İÇERİK  BULUT BİLİŞİM NEDİR?  BULUT BİLİŞİM ÖZELLİKLERİ  BULUT BİLİŞİM MİMARİ YAPISI  BULUT BİLİŞİM.
Girişimcilik Öğr.Gör.Seda AKIN GÜRDAL. Ders Akışı İşletmenin Amaçları İşletme Çevre İlişkisi.
B İ L İŞİ M S İ STEMLER İ GÜVENL İĞİ (2016) PROF. DR. ORHAN TORKUL ARŞ. GÖR. M. RAŞIT CESUR.
SUNUCU İŞLETİM SİSTEMİ Öğr. Gör. Ümit ATİLA.  1980’li yıllardan günümüze geldikçe, bilgi toplumuna yönelişte teknolojik rota, telekomünikasyon ve iletişim.
Grundtvig Öğrenme Ortaklığı “A Step Towards Elderly People (STEP)” “Yaşlılara Doğru Bir Adım Projesi” Dr. Halis YEŞİL Çıraklık ve Yaygın Eğitim Genel Müdürlüğü.
Ağ Anahtarı (Switch) Çeşitleri
Bağlam Arayüz Görev Kullanıcı Kullanılabilirliğin Ana Bileşenleri.
İl Sosyal Etüt ve Proje Müdürlüğü ERASMUS+ Gençlik KA3. Yapılandırılmış Diyalog.
ERASMUS+ GENÇL İ K KA2 İ L SOSYAL ETÜT VE PROJE MÜDÜRLÜ Ğ Ü.
İNSAN BİLGİSAYAR ETKİLEŞİMİ: BİLİŞSEL BOYUT III. İBE alanında etkileşimi anlamaya çalışan uzmanlar, özellikle şema ve zihinsel modeller üzerinde yoğunlaşırlar.
TLS/SSL BILGI İŞLEM ORGANIZASYONU BERKE ÖMEROĞLU
İÇİNDEKİLER GRID COMPUTING NEDİR? NASIL ÇALIŞIR? GRID COMPUTING YAPISI
Yazılım Mühendisliği1[ 3.hft ]. Yazılım Mühendisliği2 Yazılım İ sterlerinin Çözümlemesi Yazılım Yaşam Çevrimi “ Yazılım Yaşam çevrimin herhangi bir yazılım.
Şahin GÖKÇEARSLAN. Yazılım Türleri Bilgisayar Yazılımları Yazılım türleri (İşletim sistemleri, paket programlar, programlama dilleri) Yazılım lisans türleri.
Sözsüz İletişimin Özellikleri
TCP/IP. Network Katmanı ● Bu katmanda IP'ye göre düzenlenmiş veri paketleri bulunur. ● İletim katmanından gelen veriler burada Internet paketleri haline.
IP PAKETİ. IP Paketi ● IP protokolü akış şeklinde çalışır. ● İletim katmanı mesajları alır 64K'lık datagramlara ayırır. ● Her datagram ağ üzerinden karşı.
NETWORK YÖNETIMI Ş. Bü ş ra Güngör NETWORK YÖNETIMI NEDIR? Network, sunucu, yazıcı, bilgisayar ve modem gibi veri ileti ş im araçlarının güncel.
PORTLAR ANIL BULDU
Dünyanın bilgisine açılan pencere...
Öğretim Görevlisi Alper Talha Karadeniz Ağ Temelleri
İNTERNET TEKNOLOJİLERİ
İNTERNET VE BİLGİ AĞLARININ KULLANIMI
Açık Bulut Nedir ? Neden Açık Bulut ?
IP Adresi Dönüşüm Protokolleri
LINK LAYER PROTOCOLS (ARP/INARP)
Mikroişlemciler Temel I/O Arayüzleri.
E-posta Forum Sohbet Sesli Görüntülü Konferans
Protokol nedİr ve Z39.50 PROTOKOLÜ
Yapay Sinir Ağı Modeli (öğretmenli öğrenme) Çok Katmanlı Algılayıcı
BTEP 203 – İnternet ProgramcIlIğI - I
PROGRAMLAMA TEMELLERİ
DHCP SERVER (dynamic host configuration protocol)
HAZIRLAYAN SEDA KALKANDELEN
Mikroişlemciler Temel I/O Arayüzleri.
İnternet ve WEB Tanımları Html Temel Etiketleri
Ağ Nedir IP Adresi DNS Sunucu
Ağ İşletim Sistemleri Öğr. Gör. Arif DAŞ.
BİLİŞİM TEKNOLOJİLERİ ALANI
Öğretim Görevlisi Emel ALTINTAŞ
AĞ DONANIMLARI BARIŞ BAYRAM :
STORAGE BÜŞRA KARADENİZ
İNTERNET ADRESLERİ.
Dersin içeriğinin ve kaynaklarının tanıtılması
Swİtch çeşİtlerİ – GÖKÇE TENEKECİ.
E-posta Forum Sohbet Sesli Görüntülü Konferans
İletişim Araştırma İşbirliği
Bilgisayar Ağları ve Ağ Güvenliği
TCP/IP Protokolü Öğr. Gör. Ferdi DOĞAN.
İŞLETİM SİSTEMLERİ Bilişim Teknolojileri Araçlarında
Ağ Donanımları Cihazlar
TCP/IP Protokolü.
İNTERNET VE BİLGİ AĞLARININ KULLANIMI
OSI Modeli.
Yard. Doç. Dr. Şirin Karadeniz
TCP/IP Referans Modeli ve Katmanları
BİLGİSAYAR MÜHENDİSLİĞİNE GİRİŞ
İşlemciler.
Dünya Üzerine Yayılmış Çok-Kullanıcılı Çevrim-İçi Eğitsel
İNTERNET VE BİLGİSAYAR AĞLARI
İstemci sunucu sistemleri ve ağlar
AĞ TEMELLERİ (TCP/IP SUNUMU)
Bilgehan Arslan, Süreyya Gülnar
Sunum transkripti:

Inter-Process Communication: Processler-Arası İletişim Network Programming using Java Sockets Java Soketleri kullanarak Ağ Programlama

Konu Başlıkları Giriş Ağ Kullanmanın Temelleri Portlar ve Soketlerin Anlaşılması Java Soketleri Server Yazılımı Client Yazılımı Örnekler Sonuçlar

Giriş Internet ve WWW küresel iletişim ortamı haline gelerek bilim, mühendislik ve ticaret tutumumuzu değiştirdi. Bununla beraber, öğrenme, yaşama, eğlenme, iletişim kurma, etkileşimde bulunma, vs, tarzımızı da değiştirdi. Görünüşe bakılırsa, modern hayat etkinlikleri bütün bütün Internet etrafında dönmeye başlıyor.

Yerel ve Uzak Kullanıcılara Hizmet Veren İnternet Uygulamaları PC client Internet Server Local Area Network (Yerel Ağ) PDA

Layers, interfaces, and protocols in the OSI model.

Networking Basics Ağ Temelleri Physical/Link Layer (Fiziksel Katman) Bir bilgisayardan diğerine veri akışını gösteren sinyallerin iletimi için işlevsellik. Internet/Network Katmanı IP (Internet Protocols) – uzaktaki bir bilgisayara adreslenip teslim edilecek bir paket veri. Transport Layer (Taşıma Katmanı) Uzak bir bilgisayardaki belirli bir processe veri paketlerini teslim etmek için işlevsellikler. TCP (Transmission Control Protocol) UDP (User Datagram Protocol) Programlama Arayüzü: Soketler Applications Layer (Uygulama Katmanı) Standart veya kullanıcı uygulamaları arasında veri değişimi: HTTP, FTP, Telnet TCP/IP Stack (Yığını) Application (http,ftp,telnet,…) Transport (TCP, UDP,..) Internet/Network (IP,..) Physical/Link (device driver,..)

A typical msg as seen on network Figure 4-2. A typical message as it appears on the network.

Middleware Protocols: An adapted reference model

Internet uygulamalarına olan talep artışı Internet tarafından sunulan imkanlardan faydalanmak için, iş sahipleri devamlı olarak, servislerini Internet üzerinden sunmak için, yeni ve yenilikçi yol ve yöntemler arıyorlar. Bu da, yeni Internet-uyumlu uygulamalar oluşturma veya var olan uygulamaları Internet ortamına taşıma yeteneğine sahip yazılım mühendisleri için büyük bir talep meydana getirdi. Object-oriented Java teknolojileri—Soketler, threadler, RMI, clustering (kümeleme), Web servisleri– taşınabilir, verimli, bakımı yapılabilen, büyük ve karmaşık Internet uygulamalarının yapımı için önde gelen çözümler olarak ortaya çıktı.

A networked application with its own protocol. Client Machine: Provide means for users to interact with remote servers. App-to-app

A general solution to allow access to remote applications. Provide direct access to remote services by ofering convenient interface Client:terminal no need for local storage

C-S Computing Elemanları client (istemci), server (sunucu), ve network (ağ) Request (İstek) Client Server Network Result (Sonuç) Client machine Server machine Processler katılımcılar tarafından gözlemlenmesi gereken kuralları tanımlayan bir protokol izlerler: Veri değişimi nasıl kodlanır? Olaylar (gönderme, alma) nasıl eşitlenir (sıralanır) ki, katılımcılar koordine bir şekilde gönderip alabilsin? Yüz-yüze iletişim; insanlar, göz teması, vücut dili, yüz ifadesi temelli konuşulmayan protokol izlerler.

Networking Basics Ağ Temelleri TCP (Transmission Control Protocol) iki bilgisayar arasında güvenli veri akışını sağlayan connection-oriented (bağlantılı) iletişim protokolü. Örnek uygulamalar: HTTP FTP Telnet TCP/IP Stack Application (http,ftp,telnet,…) Transport (TCP, UDP,..) Internet/Network (IP,..) Physical/Link (device driver,..)

Networking Basics Ağ Temelleri UDP (User Datagram Protocol) bir bilgisayardan diğerine, ulaşma veya ulaşma sırası garantisi olmadan, datagram denilen bağımsız paketleri gönderen (bağlantısız iletişim) protokolüdür. Bir mektubu, birden fazla posta ile parça parça göndermeye benzer. Örnek uygulamalar: Clock server (Saat sunucusu) Ping TCP/IP Stack Application (http,ftp,telnet,…) Transport (TCP, UDP,..) Network (IP,..) Link (device driver,..)

TCP - UDP İletişimi Karşılaştırması B … Connection-Oriented (Bağlantılı) İletişim A B … Connectionless (Bağlantısız) İletişim

Portları Anlamak TCP ve UDP protokolleri, gelen veriyi bir bilgisayar üzerinde çalışan belirli bir processe eşlemek için portları kullanırlar. server P o r t TCP Client app app app app port port port port TCP or UDP Packet Data port# data

Portları Anlamak Port, (16-bit) pozitif bir tamsayı ile ifade edilir Bazı portlar yaygın/bilinen servisleri desteklemek için ayrılmıştır (reserved): ftp 21/tcp telnet 23/tcp smtp 25/tcp login 513/tcp Kullanıcı düzeyindeki processler ve servisler genellikle 1024 ve daha büyük olan port numaralarını kullanırlar

Soketler Soketler taşıma katmanındaki (transport layer) programlama ağları için bir ara-yüz sunar. Soket kullanarak ağ iletişimi kurmak, dosya okuma yazmaya (I/O) oldukça benzerdir Aslında, soket tutucu, dosya tutucu (file handle) gibi işlenir. Dosya I/O işleminde kullanılan akışlar soket-tabanlı I/O’ya da uygulanabilir. Soket-tabanlı iletişim, programlama dilinden bağımsızdır. Yani, Java dilinde yazılmış bir soket programı, hem Java’da hem de diğer dillerde yazılmış bir soket programıyla anlaşabilir.

Soket İletişimi Bir sunucu (programı) belirli bir bilgisayar üzerinde çalışır ve belirli bir porta bağlanmış bir soketi vardır. Server, bir clientın bağlantı isteğinde bulunmasını beklerken soketi dinler. server Connection request Bağlantı isteği port Client

Soket İletişimi İşler yolunda giderse, server bağlantıyı kabul eder. Bunun üzerine server, farklı bir porta bağlı yeni bir soket alır. Yeni bir sokete (bununla birlikte farklı bir port numarasına) ihtiyaç duyar ki, bağlanan cliente servis verirken aynı zamanda ilk soketten bağlantı isteklerini dinleyebilsin. server port port Client port Connection Bağlantı

Berkeley Sockets: The socket primitives in C for TCP/IP Figure 4-14. The socket primitives for TCP/IP.

Connection-oriented communication pattern using sockets

Soketler ve Java Soket Classları Soket, ağ üzerinde çalışan iki program arasındaki iki yönlü iletişim bağının ucudur. Soket, bir port numarasına bağlıdır. Bu, TCP katmanının, verinin gönderileceği uygulamayı tanıyabilmesi içindir. Java’nın .net paketi iki sınıf temin eder: Socket –client tanımlamak için ServerSocket –server tanımlamak için