2010-10-04 41 views
5

Giả sử bạn có ổ cắm nghe trên cổng TCP và một số máy khách được kết nối. Khi một trong những vấn đề sock_close (fd) trong C và cố gắng để ràng buộc một lần nữa trên cùng một cổng, ràng buộc không thành công. Một số trạng thái TIME_WAIT được nhìn thấy trên "-plutnoa netstat" như:Đóng ổ cắm TCP đang nghe trong C

tcp  0  0 127.0.0.1:4567   127.0.0.1:32977   TIME_WAIT -    timewait (17.12/0/0) 

Vậy làm thế nào một đúng cách có thể ngắt kết nối ổ cắm máy chủ và kết nối trên cổng cùng ngay lập tức?

+1

Tôi đã tìm thấy SO_REUSEADDR, kiểm tra ngay bây giờ ... – whoi

Trả lời

8

Bạn muốn sử dụng tùy chọn SO_REUSEADDR trên ổ cắm. Trang manpage có liên quan là socket(7). Dưới đây là example cách sử dụng của nó. This question giải thích điều gì xảy ra.

Các vấn đề liên quan