บน Windows ซ็อกเก็ตคือลิงก์ระหว่างจุดปลายการสื่อสารและกระบวนการ นี่คือเหตุผลที่เมื่อคุณทำซ้ำซ็อกเก็ตคุณจะจบลงด้วยซ็อกเก็ตสองซ็อกเก็ต แต่ปลายทางเดียวเท่านั้น นี่คือเหตุผลที่คุณไม่สามารถผ่านซ็อกเก็ตจากกระบวนการหนึ่งไปยังกระบวนการอื่นโดยไม่ต้องสร้างซ็อกเก็ตใหม่ในกระบวนการอื่น
หากกระบวนการสิ้นสุดลงแล้วซ็อกเก็ตของมันจำเป็นต้องหยุดอยู่ ไม่มีแนวคิดของซ็อกเก็ตโดยไม่มีกระบวนการที่จะถือมัน นี่คือสาเหตุที่แม้แต่ไดรเวอร์เคอร์เนลของ Windows ที่ต้องการสร้างซ็อกเก็ตในระดับเคอร์เนลต้องระบุกระบวนการเพื่อให้เป็นเจ้าของซ็อกเก็ตหรือเรียกใช้ฟังก์ชันจากบริบทกระบวนการซึ่งสามารถเป็นเจ้าของซ็อกเก็ตได้ (หรือพวกเขาสามารถจัดการจุดปลายได้โดยตรงโดยไม่ต้องใช้ซ็อกเก็ต)
คำถามของคุณดูเหมือนจะไม่เกี่ยวกับซ็อกเก็ต แต่เกี่ยวกับจุดสิ้นสุดการสื่อสารด้วยตนเอง ซ็อกเก็ตมีการอ้างอิงถึงจุดสิ้นสุดการสื่อสาร เมื่อซ็อกเก็ตหายไปจำนวนการอ้างอิงจะลดลง หากพบศูนย์มันจะถูกลบทันทีที่ได้รับอนุญาตตามข้อกำหนดของโปรโตคอลการสื่อสารที่เกี่ยวข้องกับปลายทาง TCP มีสถานะ TIME_WAIT ในระหว่างที่ปลายทางต้องเก็บไว้รอบ ๆ เพื่อจัดการกับแพ็คเก็ต "ที่เหลือ"