| 99 | |
| 100 | |
| 101 | NetworkInterface MulticastSocket::getInterface() const |
| 102 | { |
| 103 | try |
| 104 | { |
| 105 | IPAddress addr; |
| 106 | impl()->getOption(IPPROTO_IP, IP_MULTICAST_IF, addr); |
| 107 | return NetworkInterface::forAddress(addr); |
| 108 | } |
| 109 | catch (Poco::Exception&) |
| 110 | { |
| 111 | #if defined(POCO_HAVE_IPv6) |
| 112 | int ix; |
| 113 | impl()->getOption(IPPROTO_IPV6, IPV6_MULTICAST_IF, ix); |
| 114 | return NetworkInterface::forIndex(ix); |
| 115 | #else |
| 116 | throw; |
| 117 | #endif |
| 118 | } |
| 119 | } |
| 120 | |
| 121 | |
| 122 | void MulticastSocket::setLoopback(bool flag) |