Mongoose broadcast listener unixHow to run a shell script on a Unix console or Mac terminal?BroadcastingPeak memory usage of a linux/unix processHow do I update/upsert a document in Mongoose?What is the “__v” field in MongooseData is not received correctly from TCP socket using CIs there a command to list all Unix group names?How to permanently set $PATH on Linux/Unix?How do I copy folder with files to another folder in Unix/Linux?Broadcast my message in Socket

Books on the History of math research at European universities

Who must act to prevent Brexit on March 29th?

Greatest common substring

Why Were Madagascar and New Zealand Discovered So Late?

Resetting two CD4017 counters simultaneously, only one resets

For airliners, what prevents wing strikes on landing in bad weather?

What will be the temperature on Earth when Sun finishes its main sequence?

Did US corporations pay demonstrators in the German demonstrations against article 13?

Organic chemistry Iodoform Reaction

Do all polymers contain either carbon or silicon?

Can I Retrieve Email Addresses from BCC?

Should a half Jewish man be discouraged from marrying a Jewess?

Pronouncing Homer as in modern Greek

Indicating multiple different modes of speech (fantasy language or telepathy)

How to check participants in at events?

Giant Toughroad SLR 2 for 200 miles in two days, will it make it?

What does the "3am" section means in manpages?

The One-Electron Universe postulate is true - what simple change can I make to change the whole universe?

Can the harmonic series explain the origin of the major scale?

Why isn't KTEX's runway designation 10/28 instead of 9/27?

Science Fiction story where a man invents a machine that can help him watch history unfold

Would it be legal for a US State to ban exports of a natural resource?

Can the electrostatic force be infinite in magnitude?

How will losing mobility of one hand affect my career as a programmer?



Mongoose broadcast listener unix


How to run a shell script on a Unix console or Mac terminal?BroadcastingPeak memory usage of a linux/unix processHow do I update/upsert a document in Mongoose?What is the “__v” field in MongooseData is not received correctly from TCP socket using CIs there a command to list all Unix group names?How to permanently set $PATH on Linux/Unix?How do I copy folder with files to another folder in Unix/Linux?Broadcast my message in Socket













1















Im trying to listen broadcast udp messages using cesanta mongoose in C/C++.



mgr = new mg_mgr();
struct ip_mreq group;

mg_mgr_init(mgr, this);

char listen[256];
snprintf(listen, sizeof(listen), "udp://%d", _port);
nc = mg_bind(mgr, listen, ev_handler);


if (nc == NULL)

strerror(errno);
return errno;


group.imr_multiaddr.s_addr = inet_addr("0.0.0.0");
group.imr_interface.s_addr = inet_addr(INADDR_ANY);
if (setsockopt(nc->sock, IPPROTO_IP, IP_ADD_MEMBERSHIP, (char *)&group, sizeof(group)) < 0)

strerror(errno);
return errno;

while(true)
mg_mgr_poll(mgr, 0);


It works fine on windows, and I'm able to catch the messages.
BUT it fails on linux (Debian) on the setsockopt with error 22 (invalid argument).



I thought the mongoose library was crossplatform, is there something I might be missing here?
I read that the option IP_ADD_MEMBERSHIP might give problems, but I don't know how should I set the socket options to receive the broadcast.










share|improve this question


























    1















    Im trying to listen broadcast udp messages using cesanta mongoose in C/C++.



    mgr = new mg_mgr();
    struct ip_mreq group;

    mg_mgr_init(mgr, this);

    char listen[256];
    snprintf(listen, sizeof(listen), "udp://%d", _port);
    nc = mg_bind(mgr, listen, ev_handler);


    if (nc == NULL)

    strerror(errno);
    return errno;


    group.imr_multiaddr.s_addr = inet_addr("0.0.0.0");
    group.imr_interface.s_addr = inet_addr(INADDR_ANY);
    if (setsockopt(nc->sock, IPPROTO_IP, IP_ADD_MEMBERSHIP, (char *)&group, sizeof(group)) < 0)

    strerror(errno);
    return errno;

    while(true)
    mg_mgr_poll(mgr, 0);


    It works fine on windows, and I'm able to catch the messages.
    BUT it fails on linux (Debian) on the setsockopt with error 22 (invalid argument).



    I thought the mongoose library was crossplatform, is there something I might be missing here?
    I read that the option IP_ADD_MEMBERSHIP might give problems, but I don't know how should I set the socket options to receive the broadcast.










    share|improve this question
























      1












      1








      1








      Im trying to listen broadcast udp messages using cesanta mongoose in C/C++.



      mgr = new mg_mgr();
      struct ip_mreq group;

      mg_mgr_init(mgr, this);

      char listen[256];
      snprintf(listen, sizeof(listen), "udp://%d", _port);
      nc = mg_bind(mgr, listen, ev_handler);


      if (nc == NULL)

      strerror(errno);
      return errno;


      group.imr_multiaddr.s_addr = inet_addr("0.0.0.0");
      group.imr_interface.s_addr = inet_addr(INADDR_ANY);
      if (setsockopt(nc->sock, IPPROTO_IP, IP_ADD_MEMBERSHIP, (char *)&group, sizeof(group)) < 0)

      strerror(errno);
      return errno;

      while(true)
      mg_mgr_poll(mgr, 0);


      It works fine on windows, and I'm able to catch the messages.
      BUT it fails on linux (Debian) on the setsockopt with error 22 (invalid argument).



      I thought the mongoose library was crossplatform, is there something I might be missing here?
      I read that the option IP_ADD_MEMBERSHIP might give problems, but I don't know how should I set the socket options to receive the broadcast.










      share|improve this question














      Im trying to listen broadcast udp messages using cesanta mongoose in C/C++.



      mgr = new mg_mgr();
      struct ip_mreq group;

      mg_mgr_init(mgr, this);

      char listen[256];
      snprintf(listen, sizeof(listen), "udp://%d", _port);
      nc = mg_bind(mgr, listen, ev_handler);


      if (nc == NULL)

      strerror(errno);
      return errno;


      group.imr_multiaddr.s_addr = inet_addr("0.0.0.0");
      group.imr_interface.s_addr = inet_addr(INADDR_ANY);
      if (setsockopt(nc->sock, IPPROTO_IP, IP_ADD_MEMBERSHIP, (char *)&group, sizeof(group)) < 0)

      strerror(errno);
      return errno;

      while(true)
      mg_mgr_poll(mgr, 0);


      It works fine on windows, and I'm able to catch the messages.
      BUT it fails on linux (Debian) on the setsockopt with error 22 (invalid argument).



      I thought the mongoose library was crossplatform, is there something I might be missing here?
      I read that the option IP_ADD_MEMBERSHIP might give problems, but I don't know how should I set the socket options to receive the broadcast.







      c linux mongoose udp broadcasting






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Mar 21 at 14:53









      diego.martinezdiego.martinez

      8832621




      8832621






















          0






          active

          oldest

          votes











          Your Answer






          StackExchange.ifUsing("editor", function ()
          StackExchange.using("externalEditor", function ()
          StackExchange.using("snippets", function ()
          StackExchange.snippets.init();
          );
          );
          , "code-snippets");

          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "1"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55283273%2fmongoose-broadcast-listener-unix%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes















          draft saved

          draft discarded
















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55283273%2fmongoose-broadcast-listener-unix%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Kamusi Yaliyomo Aina za kamusi | Muundo wa kamusi | Faida za kamusi | Dhima ya picha katika kamusi | Marejeo | Tazama pia | Viungo vya nje | UrambazajiKuhusu kamusiGo-SwahiliWiki-KamusiKamusi ya Kiswahili na Kiingerezakuihariri na kuongeza habari

          Swift 4 - func physicsWorld not invoked on collision? The Next CEO of Stack OverflowHow to call Objective-C code from Swift#ifdef replacement in the Swift language@selector() in Swift?#pragma mark in Swift?Swift for loop: for index, element in array?dispatch_after - GCD in Swift?Swift Beta performance: sorting arraysSplit a String into an array in Swift?The use of Swift 3 @objc inference in Swift 4 mode is deprecated?How to optimize UITableViewCell, because my UITableView lags

          Access current req object everywhere in Node.js ExpressWhy are global variables considered bad practice? (node.js)Using req & res across functionsHow do I get the path to the current script with Node.js?What is Node.js' Connect, Express and “middleware”?Node.js w/ express error handling in callbackHow to access the GET parameters after “?” in Express?Modify Node.js req object parametersAccess “app” variable inside of ExpressJS/ConnectJS middleware?Node.js Express app - request objectAngular Http Module considered middleware?Session variables in ExpressJSAdd properties to the req object in expressjs with Typescript