我已經試過Network.Multicast包,但它確實有效,但是,我找不到指定本地綁定接口(「bond0」或「bond1」等)到組播套接字的方法。我知道在C中我需要使用ioctl將綁定轉換爲struct sockaddr_in,然後將此結構提供給IPPROTO_IP系列的setsockopt下的IP_MULTICAST_IF選項,但我不確定如何在Haskell中執行此操作。有人能幫忙嗎?謝謝!如何在Haskell中指定組播套接字的本地綁定接口?
3
A
回答
1
在network-multicast [1]的源中,我看到了在setInterface函數中設置ip_multicast_if的調用。它總是調用的inet_addr
您在通過主機串的結果。
我會想象你需要編寫自己的FFI綁定和功能做你想做什麼。但基於網絡多播中的代碼,這應該很簡單,我相信一旦你這樣做了,它將成爲圖書館的一個受歡迎的補丁。
相關問題
- 1. 如何將套接字綁定到vxWorks中的特定接口
- 2. 如何將原始套接字綁定到特定接口
- 3. 服務器套接字不綁定到指定的端口
- 4. 什麼是套接字綁定以及如何綁定地址?
- 5. 如何將套接字綁定到python的接口(socket.SO_BINDTODEVICE丟失)
- 6. 如何將原始套接字綁定到特定的端口?
- 7. SignalR連接的綁定本地端口
- 8. 如何將一個鏈接本地地址綁定到一個ipv6套接字
- 9. 如何使用TCPv6將套接字綁定到本地用戶
- 10. 如何動態地將套接字綁定到一個網絡接口?
- 11. PHP:TCP套接字,'無法綁定地址'
- 12. Ruby:將監聽套接字綁定到特定接口
- 13. 如何確定在VB6中建立的套接字的本地端口
- 14. 綁定套接字Android
- 15. 套接字綁定錯誤
- 16. 將套接字重新綁定到不同的接口
- 17. 如何將套接字綁定到Android上的本地wifi網絡地址?
- 18. 如何在同一接口上綁定多個IPv6地址時將特定IP設置爲套接字
- 19. 多播綁定接口問題
- 20. 接受客戶端後,Java ServerSocket如何獲取綁定到同一本地端口的新套接字?
- 21. 如何爲Java套接字指定端口範圍?
- 22. 在python套接字中指定socket.connect()的源IP地址
- 23. Python套接字綁定到任何IP?
- 24. 套接字緩衝區與套接字的綁定
- 25. 如何將java.nio.channels.DatagramChannel綁定到本地接口?
- 26. 在C#中綁定套接字時獲取無效指針地址?
- 27. C:套接字綁定在錯誤的端口
- 28. 如何創建一個指向特定網絡接口的傳出套接字?
- 29. 在.NET中指定UDP組播應該連接到什麼網絡接口
- 30. 如何將多個接口綁定到一個原始套接字
謝謝!它看起來像inet_addr是C API inet_addr的相對直接導入,但爲了實現「bond0」的相同結果,或者需要幾個C API調用。我將嘗試看看如何爲此創建一個ffi綁定。 – diyu01 2011-05-24 16:53:06