Yanıtlar:
Bir UNIX soketi , aynı makinede çalışan işlemler arasında çift yönlü veri alışverişine olanak sağlayan işlemlerarası bir iletişim mekanizmasıdır.
IP soketleri (özellikle TCP / IP soketleri) ağ üzerinden işlemler arasında iletişime izin veren bir mekanizmadır. Bazı durumlarda, aynı bilgisayarda çalışan işlemlerle konuşmak için TCP / IP soketlerini kullanabilirsiniz (geridöngü arabirimini kullanarak).
UNIX etki alanı soketleri, aynı sistemde çalıştıklarını biliyorlar; bu nedenle bazı denetimlerden ve işlemlerden (yönlendirme gibi) kaçınabilirler; bu onları IP soketlerinden daha hızlı ve daha hafif yapar. Dolayısıyla, aynı ana bilgisayardaki işlemlerle iletişim kurmayı planlıyorsanız, bu IP soketlerinden daha iyi bir seçenektir.
Düzenleme: Nils Toedtmann'ın yorumuna göre : UNIX alan soketleri dosya sistemi izinlerine tabidir, TCP soketleri sadece paket filtre seviyesinde kontrol edilebilir.
Kendi makinenizin yerel unix soketlerini aşağıdaki komutla listeleyebilirsiniz:
netstat -a -p --unix
İyi eğlenceler!
netstat
ancak Windows üzerinde çalışıyor.
Unix soketi ile TCP / IP soketi arasındaki fark nedir?
TCP / IP ağları üzerinden iletişim için bir TCP / IP soketi kullanılır. Bağlı bir TCP soketi, yerel IP, yerel port, uzak IP ve uzak port kombinasyonuyla tanımlanır. Bir dinleme TCP soketi yerel port ve muhtemelen yerel IP ile tanımlanır. En azından linux TCP / IP soketlerinde AIUI, istemci ve sunucu aynı makinede olsa bile her zaman TCP / IP paketlerinin oluşturulmasına ve kodlarının çözülmesine neden olur.
Öte yandan, bir unix alan soketi (bazen unix soketine kısaltılmış) bir makinede çalışır. Dinleme soketleri dosya sistemi hiyerarşisinde yaşar ve bunlara erişim dosya sistemi izinleriyle kontrol edilebilir.
Ayrıca, bir Unix soketinde bağlantı kabul eden bir işlem, bağlanan işlemin kullanıcı kimliğini belirleyebilir. Bu bir kimlik doğrulama adımına ihtiyaç duyulmasını önleyebilir. Veritabanı sunucunuz için bir parola oluşturmak yerine ve bunun bir kopyasını webapp kodunuza dahil etmek yerine, veritabanı sunucusuna webapp çalıştıran kullanıcının veritabanındaki ilgili kullanıcı hesabına erişimi olduğunu söyleyebilirsiniz.
TCP soketleri de Unix tarafından mı kullanılıyor?
Tabii ki
TCP soketleri, TCP protokolü belirtiminin bir parçasıdır
Internet protokolü spesifikasyonları sadece tel üzerinde olanları ilgilendirme eğilimindedir, TCP spesifikasyonu bir Soket tanımı içerir, ancak bu tanım "soketler API" tarafından kullanılan terimle aynı değildir.
Bildiğimiz gibi "soketler API "'si BSD tarafından tanıtıldı, ancak daha sonra her yere kopyalandı ve posix standardının bir parçası olarak dahil edildi. TCP ve UDP soketleri için temel şeyler, farklı platformlarda aynı olma eğilimindedir, ancak daha gelişmiş şeyler ve işletim sisteminin diğer bölümleriyle etkileşime giren şeyler değişkenlik gösterir, örneğin unix benzeri sistemlerde bir soket bir dosya tanıtıcısı tarafından tanımlanabilir ve API'lar tarafından okunup / yazılmalıdır, bu durum pencerelerde böyle değildir.
Soketler API'sine yapılan bazı uzantılar rfcs'de belgelenmiştir ancak bu RFC'ler yalnızca "bilgi amaçlıdır".
veya herhangi bir protokol IP Soketlerini kullanabilir mi?
Bir uygulama açıkça "socket" işlevini kullanarak bir soket oluşturduğunda (soketler ayrıca kabul işlevi tarafından da oluşturulur), "domain", "type" ve "protokol" olmak üzere üç parametre iletir. Aralarında bu üç parametre birçok farklı soket tipini seçmek için kullanılabilir.