Transmittin ga BYE Packet:

Một phần của tài liệu Ứng dụng thời gian thực (Trang 46 - 47)

Khi một thành viên muốn rời khỏi phiên, một gĩi BYE được gởi đi để thơng báo

cho các thành viên khác biết. Để tránh việc tràn dữ liệu do cĩ nhiều thành viên cùng gởi gĩi BYTE, mỗi thành viên phải phải thực hiện thuật tốn sau, nếu tại thời điểm đĩ

số thành viên >50. Thuật tốn này cĩ mức ưu tiên cao hơn quyền thơng thường của

mỗi thành viên.

- Khi một thành viên muốn rời khỏi hệ thống: tp được gán bằng tc.

members = pmembers =1. initial =1.

we_sent=false. senders =0.

avg_rtcp_size =kích thước của gĩi BYTE.

tn=tc+T. (giá trị T là giá trị cũ).

- Khi nhận được gĩi BYTE của một thành viên khác:

biến members tăng 1 đơn vị, khơng cần quan tâm thành viên đĩ cĩ trong bảng thành viên chưa?

Bảng sample được đưa vào sử dụng, tất cả các giá trị SSRC được đưa

vào bảng này(kể cả của gĩi BYTE).

Giá trị members sẽ khơng tăng khi nhận được bất kỳ gĩi tin nào khơng phải là RTCP BYTE.

47

Bảng senders sẽ khơng cập nhật lại giá trị khi nhận được gĩi RTP.

- Việc truyền gĩi BYTE được thực hiện theo cơ chế như các gĩi RTCP thơng thường.

Với cách thực hiện trên, gĩi BYTE được truyền 1 cách đúng đắn, bởi việc điều

khiển tổng băng thơng được sử dụng. Trong tình huống xấu nhất, nĩ sẽ điều khiển các

gĩi tin RTCP sử dụng băng thơng gấp đơi mức bình thường (10%). Trong đĩ, 5% được

sử dụng cho truyền gĩi RTCP BYTE, 5% cịn lại dùng truyền RTCP khác.

Nếu một thành viên khơng muốn đợi thực hiện cơ chế trên, họ cĩ thể rời bỏ nhĩm

bằng cách khơng gởi đi gĩi BYTE, việc cịn lại do sự kiện “time out” đảm nhiệm.

Chú ý, nếu kích thước của nhĩm nhỏ hơn 50, khi thành viên rời khỏi nhĩm cĩ thể

gởi ngay gĩi BYTE mà khơng phải chờ. Trong trường hợp một thành viên chưa hề gởi đi một gĩi RTP hoặc RTCP nào thì khi rời khỏi nhĩm họ cũng khơng cần phải gởi đi

gĩi BYTE.

Một phần của tài liệu Ứng dụng thời gian thực (Trang 46 - 47)