Java ile Ağ Programlama | Giriş

Adsız Yorum yok 30 Haz 2014
Selamun aleyküm/ Aleykum selam

Networkçü olmam beni nedense bir anda Javaya çekti ve bu konuda da Java ile ağda çalışma medotlarını araştırıp öğrenmeye sürüklendiğimi hissettim. Bu açıdan sizlere bildiğim basit olan ağ programladan bahsedeceğim. Java ile ağ programlama çok basit olan bir işlemdir. Karışık ağ programlamalar java ile çok basit bir hale gelmiştir.

Bu yazı dizimde değineceğim konular ise;

Giriş   
    Temel Kavramlar
    Adres kıyaslama
URL sınıfı ile dosya erişim
    Proxy sunucusu üzerinden bağlantı.
URL Connection
    Proxy-Authentication
Get ve Post ile veri aktarımı
    Get sistemi
    post sistemi
    Arama motorları
Host ve IP adresi
Socket Programlama
    Socket hakkında bilgi
    Server bağlantısı
Datagram Socket
UDP Server

 Javada Ağ API'leri java.net javax.net pakatleri içerisinde bulunmaktadır. Ağ programlamaya geçmeden önce basit bilindir bir kaç kavramdan bahsetmek istiyorum. Aslında bildiğiniz şeyler olsada, ben yine de anlatmadan geçemeyecem :)

Host: ağ sistemlerinde belli bir adres olan makine

IP: Ağda hostu belirleyen 32 bitlik belirtici adrestir.

Paket: tek mesaj dizini olarak tanımlayabiliriz

Router:  farklı ağlar arasında paketleri yollayan bir host.

URI veya URL

URL: Webtek bir adres formatıdır. örneğin kurtulushalil.blogspot.com adresi web ordamında bir adresi göstermektedir. adres öncelikle protokol ile başlar bu protokol ya http veya https dir.
Her  URL nin bir protokolü olmak zorundadır ve bu URI nin özleştirişmiş halidir.

URL url = new URL("http://internetadresiniz.com/index.html");
URL'leri bu şekilde tanımlayabildiğimi gibi ayrı ayrıda tanımlaya bilmekteyiz.

Şimdi  gelin ufaktan kodlama yapalım ve kullandığımız kodları yavaş yavaş tanıyalım.

Her hatalı tanımlamada kurucu olan metodlar bir MalformedURLException hatası gösterir. Bunun 2 nedeni vardır.
1: Adres hatası
2: tanımlanmamış bir protokol kullanılıyor olması.

___________________________
try
 {
    URL url  = new URL (...)
}
catch ( MalformedURLException e )
{
}
____________________________

yukarıda ki hata kodumuz zatede yanlış bir url den kaynaklandığını unutmamak gerekiyor.
kök bilgi  hatası veya uzak bir aygıta erişemediği için verdiği bir hata değildir.

Gelin bir URL nesnesini oluşturduktan sonra bir kaç değişkenden bilgi alalım ve kullandığımız metodları ne işe yaradığını tek tek öğrenelim.

___________________________
import java.net.MalformedURLException;
import java.net.URL;

public class URLMetotları (
   
    public static void main (string[] args) {
        try {
        URL url = new URL {
        "http://internetadresi.com:2014"+
        "/java/halil/index.html?anahtar=kelime");
            System.out.println(url.getProtocol());
            System.out.println(url.getHost());
            System.out.println(url.getPort());
            System.out.println(url.getFile());
            System.out.println(url.getPath());
            System.out.println(url.getQuery());
            System.out.println(url.getRef());
        } catch (MalformedURLException e)

            e.printerStackTrace();
        }
    }
}
_____________________________________________
Gelelim bu kodların ne işe yaradığına

String getProtocol():     Protokolü iletir.
String getHost():     Host ismi iletir.
int getPort();         Port numarasını bize iletir eğer yoksa -1 diye gösterir.
String getPath();    URL path bilgilerinin kök bilgisi olmadan verir.
String getFile();        URL Path bilgisini kök bilgisiyle verir.
String getQuery();     Soru işaretinden sonra gelen bilgileri iletir.

Bu günlük bu kadar gece 04:42 olmuş artık uyuma vakti ALLAHın izni ile vakit bol yazacak çok şeyimiz var zaten :) diğer yazımda adres kıyaslama ve URL sınıfı ile dosya erişim kısmına değineceğim.

Ha diyeceksiniz hiç bir şey anlamadım anlamanız için Javayı bilmeniz gerekiyor yaptığım işlem basit bir olay önümüzdeki çalışmalarda aslında bu ufak tanımlamaların ne işe yaradığını daha iyi anlayacaksınız. ;)
Etiketler:
Benzer Yazılar

Yorumlar(0)


Sessiz Teori
Blogger: