Arama close
ve shutdown
temel soket üzerinde iki farklı etkiye sahiptir.
Dikkat edilmesi gereken ilk şey, soketin temeldeki işletim sisteminde bir kaynak olduğu ve birden çok işlemin aynı temel soket için bir tutamaca sahip olabileceğidir.
Onu çağırdığınızda close
tutamaç sayısını bir azaltır ve tutamaç sayısı sıfıra ulaşırsa, soket ve ilgili bağlantı normal kapatma prosedüründen geçer (eşe etkin bir şekilde FIN / EOF gönderir) ve soket serbest bırakılır.
Burada dikkat edilmesi gereken nokta, başka bir işlemin sokete hala bir tutamacı olduğu için tutamaç sayısı sıfıra ulaşmazsa, bağlantı kapatılmaz ve yuvanın ayrılmamasıdır.
Öte yandan shutdown
, okuma ve yazma çağrısı , temeldeki bağlantıyı kapatır ve sokete kaç işlemin tanıtıcısı olduğuna bakılmaksızın eşe bir FIN / EOF gönderir. Ancak, soketi serbest bırakmaz ve daha sonra yine de close çağırmanız gerekir.
shutdown()