Làm thế nào để rõ ràng cổng EADDRINUSE miễn phí để ràng buộc lại?


0
$ testOnDemandRTSPServer
... Play this stream using the URL "rtsp://192.168.90.2:8554 ...
^C
$ testOnDemandRTSPServer
Failed to create RTSP server: bind() error (port number: 8554): Address already in use

Làm cách nào để giải phóng cổng theo cách thủ công sau chương trình không phải REUSEADDR?

Tôi không muốn đợi hoặc thay đổi cổng mỗi lần ...


Câu trả lời:


0

Thật không may, trên Linux không có gì bạn có thể làm (ngoài việc sửa mã để đặt SO_REUSEADDR). Từ man 7 socket:

Linux will only allow port reuse with the SO_REUSEADDR option when this
option was set both in the previous program that performed a bind(2) to
the port and in the program that wants to reuse the port. This differs
from some implementations (e.g., FreeBSD) where only the later program
needs to set the SO_REUSEADDR option. Typically this difference is invisible,
since, for example, a server program is designed to always set this option.

2
Có phải chỉ có tôi là người khó chịu bởi Address already in usetin nhắn trong quá trình phát triển? Có lẽ ai đó đã hack một mô-đun hạt nhân chỉ cần xóa tất cả các socket TIME_WAIT?
Vi.
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.