Ağ Proglamlama
Java soket uygulaması programlama arayüzünün (API) İnternet üzerindeki iletişimi desteklemesine olanak tanımaktadır. java.net paketinde bulunan sınıflar ağ uygulamalarının oluşturulabilmesini sağlar. Bu sınıflar, İnternette sunucular arası standart iletişim kuralları demek olan TCP/IP iletişim kuralları tarafından sağlanan iletişim servislerine giriş yapmak için düzlemden bağımsız bir arayüz oluşturur. İnternete bağlanan her bir sunucu TCP/IP iletişim kurallarını kullanır. Soket uygulama arayüzü, İnternet üzerindeki diğer sunuculara veri göndermek ve onlardan veri almak üzere soketler tanımlar. Soket, ağ uygulamaları ve TCP/IP iletişim kuralları topluluğu arasında yer alan bir kapı olarak da düşünülebilir. Dolayısıyla, bir uygulama soket kullanarak İnternete bağlı herhangi bir sunucuda çalışan diğer uygulamalardan iletiler almakta ve onlara iletiler göndermektedir.
İnternete bağlı her sunucunun kendine özgü bir IP adresi ve seçime bağlı olarak da bir ismi vardır. Bir uygulama diğer sunucularda çalışan uygulamalara ileti gönderebilmek ve onlardan ileti alabilmek için öncelikle yerel sisteminde bir soket oluşturmalıdır. Her sunucuda birden fazla ağ uygulaması çalışabileceğinden, diğer uygulamalarla iletişim kurabilmek için her uygulama için en az bir tane yeni soket yaratılmalıdır. Her bir soket 0-65535 arasında bir tam sayı olan kendine özgü bir kapı numarasıyla ilişkilendirilir. Sunucu adı yada sunucunun IP adresi belli bir sunucunun İnternetteki yerini belirlemek için kullanılır, kapı numarası ise o sunucuda ki belli bir uygulamayı konumlandırmak için gereklidir. Bu nedenle bir ağ uygulamasına ileti gönderebilmek için uygulamanın üzerinde çalıştığı sunucunun adresi ve uygulamanın kullandığı soketin kapı numarası biliniyor olmalıdır.
TCP/IP iletişim kuralları topluluğu tarafından sağlanan iki çeşit hizmet vardır:
  • Bağlantı yönelimli-güvenilir:: Bu hizmeti TCP iletişim kuralları sağlar. İletişim kuralı hatasız ve düzenli byte dağıtımı gerçekleştirir.
  • Bağlantısız-güvenilemez: : Bu hizmeti UDP iletişim kuralları sağlar.Bu iletişim kuralı, düzenli ve hatasız ileti dağıtımını garanti etmez. İletiyi gönderen uygulama ve iletiyi alan uygulama arasındaki süreçte bazı iletiler kaybolabilir yada iletilerin sıralaması korunamayabilir.
Ağ uygulamalarının büyük bir çoğunluğu, istemci uygulamanın sunucuyla iletişime geçtiği ve sunucudan bazı hizmetler istediği istemci/sunucu türünde bir etkileşim kullanır. Bundan sonra sunucu istemcinin isteğine yanıt verir. Sunucu uygulamaları genelde sabit ve bilinen bir adrese sahip bir makine üzerinde çalışır ve iyi bilinen bir kapı numarasına sahip bir soket üzerinden bağlantı isteklerini kabul eder. Sunucu istemden istemcinin ağ adresini ve kapı numarasını çıkarır ve yanıtını bu adrese gönderir.