Tôi có một số máy nhúng nghe và truyền dữ liệu âm thanh rtp đến một nhóm đa hướng. Chúng được kết nối với một switch được quản lý thông minh (Netgear GS108Ev2) thực hiện lọc igmp cơ bản và lọc multicast trên các cổng của nó, để phần còn lại của mạng LAN (W) của tôi không bị ngập.Làm mới thành viên nhóm multicast
Lúc bắt đầu mọi thứ hoạt động tốt trong khoảng 500-520 giây. Sau đó, họ không nhận được thêm bất kỳ dữ liệu nào nữa cho đến khi họ rời khỏi và tham gia lại nhóm. Tôi đoán việc chuyển đổi là "quên" về việc tham gia sau một thời gian chờ.
Có cách nào để làm mới tư cách thành viên nhóm, tức là cho phép chuyển đổi biết rằng vẫn có ai đó đang nghe, mà không làm mất gói?
thông tin hệ thống:
Arch: blackfin
# cat /proc/version
Linux version 2.6.28.10-ADI-2009R1-uCBF54x-EMM
(gcc version 4.3.3 (ADI)) #158 PREEMPT Tue Jun 5 20:05:42 CEST 2012
tốt, có cách nào, trong C, để gửi Báo cáo thành viên theo cách thủ công, mà không phải chờ truy vấn hoặc rời nhóm trước? Tôi nghi ngờ việc chuyển đổi 20 đô la của tôi thực hiện điều này. – derhoch
Có, chỉ cần xây dựng gói IGMP của riêng bạn (IGMPv2 sẽ là đủ) với loại Báo cáo thành viên và địa chỉ nhóm phát đa hướng của bạn. Bạn có thể sẽ cần một ổ cắm thô để gửi nó vì không có tiêu đề TCP hoặc UDP. – scai