protected void JoinMulticastGroup(IPAddress multicastAddr, byte timeToLive)
{
MulticastOption optionValue;
optionValue = client.GetSocketOption(SocketOptionLevel.IP, SocketOptionName.AddMembership) as MulticastOption;
if (optionValue == null)
{
optionValue = new MulticastOption(multicastAddr);
client.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.AddMembership, optionValue);
client.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.MulticastTimeToLive, timeToLive);
}
}