2010-11-15 42 views
5

Tôi có máy chủ UDP khá đơn giản được viết trên c. Đôi khi tôi cần biết chiều dài hiện tại của tất cả các gói udp (byte) được xếp hàng đợi trong socket. Như tôi hiểu, getockopt không nhận được thông tin như vậy.Chiều dài gói tin udp hiện tại

Cả hai giải pháp Linux và FreeBSD đều được chào đón, cảm ơn!

Trả lời

3

ioctl(FIONREAD, ...) nên khoảng những gì bạn đang tìm kiếm,

http://www.daemon-systems.org/man/ioctl.2.html

+0

Có, bạn đúng! Cảm ơn rất nhiều! – kost

+1

Thực ra điều này không hoạt động trên Linux. Xem http://stackoverflow.com/questions/9278189/how-do-i-get-amount-of-queued-data-for-udp-socket – Anne

1

Từ bên ngoài của máy chủ (dòng lệnh), bạn có thể làm

netstat -uln

mà sẽ cho bạn thấy chiều dài của tất cả các ổ cắm udp nghe.

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