Javada Ağ(Network) Programlamaya Giriş

Ağ(Network) teknolojileri, tahmin ettiğiniz gibi iki ya da daha çok bilgisayarın birbirleri ile iletişime geçmelerini sağlayan yapılardır. Bu yapılar, bilgisayarların iletişimlerini sağlamak için ortak bir protokol kullanmak zorundadırlar. İki insanın konuşmak için aynı dili bilmesi gerektiği gibi. En yaygın şekilde kullanılan protokol modeli TCP/IP’ dir. TCP/IP modelinin sunduğu ve bilgisayarın kimliği olarak kabul edilebilecek IP adresleri vardır. Ip adresleri sayesinde bilgisayarlar birbirlerini ayırt ederler ve bu sayede birbirleriyle karmaşa olmaksızın konuşabilirler.

TCP/IP modelinin sunduğu bir diğer adresleme oluşumu portlardır. Günümüzdeki bilgisayarlarda toplamda 65536 adet port bulunur. 1024’ten küçük portlar özel olarak ayrılmışken büyük olanlar kullanıcıların diğer programları için kullanıma açıktır. Ama bu iki adresleme düzeyini birbirinden bağımsız düşünmemek gerekiyor. Şöyle ki, bu iki düzeyin birleştiği nokta bilgisayar için iletişim noktasıdır ve buna soket denir. Eğer bir soket kullanılıyorsa, onu kullanmak isteyen ikinci bir istek dışlanacaktır. Bir çift soket yapı itibarı ile aşağıdaki bileşenlerden oluşmak zorundadır.

Gönderici Soket = Kaynak IP Adresi + Kaynak Port Numarası
Alıcı Soket = Hedef IP Adresi + Hedef Port Numarası

İşin programlama kısmında değinirsek, soketler iletişim amaçlı input ve output stream kullanacak şekilde tasarlanmışlardır. Ağ programlamada; oluşturulacak programlar, sunucu/istemci(Server/Client) modeline göre çalışmalıdır. Yani programın bir sunucu bir de istemci tarafı olmalı. Biraz daha özele inersek java programlamada, sunucu tarafında “ServerSocket” sınıfından bir nesne türetilirken, istemci tarafında “Socket” sınıfından bir nesne türetilir.

Genel bir girişin ardından başka bir yazımda değineceğim örneklerle konunun kod kısmı da anlaşılacaktır. İyi çalışmalar…

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir