Skip to content

missing multicast support #381

Description

@zoranbosnjak

Please consider adding UDP multicast support to the network library.
There is a separate library network-multicast here:
https://hackage.haskell.org/package/network-multicast
but the multicast is so basic function that it could as well be integral part of the network.

Activity

  1. kazu-yamamoto commented on Feb 19, 2019

    @kazu-yamamoto
    Collaborator

    We are trying to make network truely cross-platform and keep it as small as possible. So, we should answer the following questions for this kind of issues:

    • Is the code truely cross-platoform? If no, we cannot merge the code into network.
    • Is it impossible to implement the code without modifications of network? If the answer is possible, such network-xxx packags are our intention.
  2. eborden commented on Feb 19, 2019

    @eborden
    Collaborator

    @kazu-yamamoto This might point to a deficiency in documentation. Just as we point to high level libraries in network's description, we may want to point to the existence of a network-xxx ecosystem.

  3. zoranbosnjak commented on Feb 19, 2019

    @zoranbosnjak
    Author

    I agree on the arguments. However, there is still room for improvement. The network-multicast has 2 parts:

    • High level functions multicastSender and multicastReceiver.
    • Low level socket manipulation functions (setting socket options with some multicast specific constants).

    Only the low level part is a candidate for the network base library. I am almost certain that it can remain cross-platform. On the other hand, a network-multicast can still provide added value, but without digging low level.

    network-multicast source code is very short. Please have a look at the low level part and see how/if it could be translated to the base library.

  4. kazu-yamamoto commented on Feb 20, 2019

    @kazu-yamamoto
    Collaborator

    We should read https://tools.ietf.org/html/rfc3678.
    Unfortunately, the support is not straightforward because setSocketOption allows an Int value only.
    We need a more generic API.

  5. kazu-yamamoto commented on Apr 29, 2020

    @kazu-yamamoto
    Collaborator

    When #445 is merged, we have the generic API.

  6. kazu-yamamoto commented on Apr 29, 2020

    @kazu-yamamoto
    Collaborator

    Not correct. master already has getSockOpt and setSockOpt!

  7. gev commented on May 7, 2026

    @gev
    Contributor

    I've add cross-platform multicast support via setSockOpt. IPv4 only for now
    #614 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions