Soket programlama, TCP / IP ağlarında iletişimin arkasındaki temel teknolojidir. Soket, bir ağ üzerinde çalışan iki program arasındaki iki yönlü bağlantının bir uç noktasıdır. Soket, başka bir soket ile veri gönderip almak için çift yönlü bir iletişim uç noktası sağlar. Soket bağlantıları normalde bir yerel ağ (LAN) üzerindeki iki farklı bilgisayar arasında veya internet üzerinden çalışır, ancak bunlar aynı zamanda tek bir bilgisayarda işlemler arası iletişim için de kullanılabilir.
Soketler ve Adresler
TCP / IP ağlarındaki soket uç noktalarının her biri, bir IP adresi ve bir TCP / IP bağlantı noktası numarasının birleşimi olan benzersiz bir adrese sahiptir. Soket belirli bir bağlantı noktası numarasına bağlı olduğundan, TCP katmanı kendisine gönderilen verileri alması gereken uygulamayı tanımlayabilir. Yeni bir soket oluştururken, soket kitaplığı o cihazda otomatik olarak benzersiz bir bağlantı noktası numarası oluşturur. Programcı, belirli durumlarda bağlantı noktası numaralarını da belirleyebilir.
Sunucu Yuvaları Nasıl Çalışır?
Tipik olarak, bir sunucu bir bilgisayarda çalışır ve belirli bir bağlantı noktasına bağlı bir sokete erişir. Sunucu, farklı bir bilgisayarın bağlantı isteğinde bulunmasını bekler. İstemci bilgisayar, sunucu bilgisayarın ana bilgisayar adını ve sunucunun dinlediği bağlantı noktası numarasını bilir. İstemci bilgisayar kendini tanımlar ve – her şey yolunda giderse – sunucu, istemci bilgisayarın bağlanmasına izin verir.
Soket Kitaplıkları
Doğrudan düşük seviyeli soket API’lerine kodlamak yerine, ağ programcıları tipik olarak soket kitaplıkları kullanır. Yaygın olarak kullanılan iki soket kitaplığı, Linux/Unix sistemleri için Berkeley Sockets ve Windows sistemleri için WinSock’tur. Soket kitaplığı, programcıların dosyalarla çalışmak için kullandıklarına benzer bir dizi API işlevi sağlar; açık(), oku (), yazmak(), ve kapat().