Re: ?? How to subscribe to Multicast Broadcasts ??

2018-08-18 Thread Sebastiaan Koppe via Digitalmars-d-learn

On Monday, 13 August 2018 at 01:12:16 UTC, Joe wrote:

Please Please Please Help, I am desperate!

Many Thanks in Advance for your time & attention,
-joe


I implemented multicast support in vibe.d, I hope looking at the 
source can help you:


https://github.com/vibe-d/vibe.d/blob/master/core/vibe/core/drivers/libevent2.d#L1129

Also, shouldn't both sending and receiving ports be the same?

Where I use it I call addMembership and then canBroadcast on a 
vibed socket, and it has worked for me.


It wouldn't be difficult to port that back to std.socket.


Re: ?? How to subscribe to Multicast Broadcasts ??

2018-08-17 Thread Steven Schveighoffer via Digitalmars-d-learn

On 8/12/18 9:12 PM, Joe wrote:

Hello All!

I've been trying every possible combination and cannot get anything 
working. (>_<)


This is I think the closest I've got, I think the problem may be with 
the 3 argument.  I'm not sure how to join the Multicast IP membership?

(this code currently does not work - throws error:
'Unable to set socket option: An invalid argument was supplied'.)

Socket listen_socket = new Socket(AddressFamily.INET, SocketType.DGRAM, 
ProtocolType.UDP);
listen_socket.setOption(SocketOptionLevel.IGMP, 
SocketOption.IPV6_JOIN_GROUP, 1);

auto adr = getAddress("0.0.0.0", "56000");
listen_socket.bind(adr[0]);


This is how the messages are sent (which works fine):

Socket udp_broadcast_soc = new UdpSocket();
udp_broadcast_soc.setOption(SocketOptionLevel.SOCKET, 
SocketOption.BROADCAST, 1);

auto adr = getAddress("239.192.0.10", 54000);
udp_broadcast_soc.sendTo(, adr[0]);


Please Please Please Help, I am desperate!



This needs more context. What is your platform? Have you tried doing it 
in C to see what works?


One thing that stands out so far is you are using IPV4 addresses and 
constants everywhere, yet you are using IPV6_JOIN_GROUP socket option.


-Steve


?? How to subscribe to Multicast Broadcasts ??

2018-08-12 Thread Joe via Digitalmars-d-learn

Hello All!

I've been trying every possible combination and cannot get 
anything working. (>_<)


This is I think the closest I've got, I think the problem may be 
with the 3 argument.  I'm not sure how to join the Multicast IP 
membership?

(this code currently does not work - throws error:
'Unable to set socket option: An invalid argument was supplied'.)

Socket listen_socket = new Socket(AddressFamily.INET, 
SocketType.DGRAM, ProtocolType.UDP);
listen_socket.setOption(SocketOptionLevel.IGMP, 
SocketOption.IPV6_JOIN_GROUP, 1);

auto adr = getAddress("0.0.0.0", "56000");
listen_socket.bind(adr[0]);


This is how the messages are sent (which works fine):

Socket udp_broadcast_soc = new UdpSocket();
udp_broadcast_soc.setOption(SocketOptionLevel.SOCKET, 
SocketOption.BROADCAST, 1);

auto adr = getAddress("239.192.0.10", 54000);
udp_broadcast_soc.sendTo(, adr[0]);


Please Please Please Help, I am desperate!

Many Thanks in Advance for your time & attention,
-joe