Re: EuNET Multicast parameter

new topic     » goto parent     » topic index » view thread      » older message » newer message

IP_ADD_MEMBERSHIP takes a pointer to a 32-byte structure as its value.

This hasn't been tested, but the general idea is this:

  addr = {244,0,0,1,0} -- Multicast address & port 
  sockaddr = allocate(32) 
  poke(sockaddr,{AF_INET,0}) 
  poke(sockaddr+2,floor(addr[5]/256)) -- port hi 
  poke(sockaddr+3,remainder(addr[5],256)) -- port low 
  poke(sockaddr+4,addr[1..4]) 
  poke(sockaddr+8,{0,0,0,0,0,0,0,0}) 
 
  addr_i = {192,168,0,1,0}  -- Interface address & port 
  poke(sockaddr+16,{AF_INET,0}) 
  poke(sockaddr+18,floor(addr_i[5]/256)) -- port hi 
  poke(sockaddr+19,remainder(addr_i[5],256)) -- port low 
  poke(sockaddr+20,addr_i[1..4]) 
  poke(sockaddr+24,{0,0,0,0,0,0,0,0}) 
 
  success = eunet_set_socket_options(socket,IP_PROTO,IP_ADD_MEMBERSHIP,sockaddr) 

Hope this helps.

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu