Her soket için dosya nerede ve nerede?
"Her şey" abartıdır. Bu katı bir politika değildir, dosya sistemi erişimi sistem çağrılarıyla eşanlamlı olduğu için (yani, dosya sistemi çekirdeğin gerçekten bir arayüzüdür ve bu nedenle her şey için uygun bir format sağlar) arabirimler için dosya sistemini kullanmak yaygın bir uygulamadır. . Diğer işletim sistemleri bu kadar kullanılmaz, bu yüzden ayırt edici bir özellik olarak kabul edilir.
Hauke Laging'in dediği gibi, "unix local" soketlerinde , boru adındaki gibi bir dosya düğümü vardır (bkz. man fifo
). Ancak, internet protokol soketleri (ağ iletişimi için kullanılır) yapmaz. Bunun yerine, kullanıcı alanında bağlantı noktası numarasıyla ilişkilendirilirler. Tek bir bağlantı noktasındaki bir sunucu soketinin her birini kendi ayrı soketine bağladığını unutmayın (tek bir unix yerel soket dosyası da bir sunucu ile bu şekilde kullanılabilir, yani aynı dosya adresiyle ilişkili birden fazla soket olabilir) ve kod içinde aslında ayrı sayısal dosya tanımlayıcıları aracılığıyla ayrı ayrı tanımlanırlar.
Yani, bu anlamda tüm prizler olan dosyaları gibi çok ve bir bağlantısı var /proc/[pid]/fd/
. Hatta readlink()
bu inode'u çağırabilir ve komut satırı araçlarında kullanılan özel bir dosya adı alabilirsiniz lsof
; Aynı şekilde soket tanıtıcısı hakkında da bilgi alabilirsiniz fstat()
.