diff --git a/README.md b/README.md index 7db7aaa..b7b88be 100644 --- a/README.md +++ b/README.md @@ -2,14 +2,15 @@ A Kotlin multiplatform library for mdns announcer(mdns server), only broadcast is supported, -Also, nmdns can be compiled to shared/static lib for other language calling, see [build.gradle.kts](build.gradle.kts) +Also, nmdns can be compiled to shared/static lib for other language calling, see [c++ example](#cpp) Supported platforms: 1. windows64(mingwx64) 2. linuxX64 3. linuxArm64 4. macosArm64 -5. jvm(11 or later) +5. macosX64 +6. jvm(11 or later) Supported srv type 1. A @@ -64,7 +65,7 @@ while (true) { } ``` -# C++ +# cpp ```cpp #include diff --git a/build.gradle.kts b/build.gradle.kts index 3aaaa0e..9c22e52 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -17,7 +17,8 @@ kotlin { linuxArm64(), linuxX64(), mingwX64(), - macosArm64() + macosArm64(), + macosX64() ) jvm { compilerOptions { jvmTarget = JvmTarget.JVM_11 } } diff --git a/src/appleMain/kotlin/cn/rtast/nmdns/socket.apple.kt b/src/appleMain/kotlin/cn/rtast/nmdns/socket.apple.kt index 504c795..108de64 100644 --- a/src/appleMain/kotlin/cn/rtast/nmdns/socket.apple.kt +++ b/src/appleMain/kotlin/cn/rtast/nmdns/socket.apple.kt @@ -34,7 +34,7 @@ public actual class Socket1 internal actual constructor() { val addr = alloc() addr.sin_family = AF_INET.convert() addr.sin_port = htons(port.toUShort()) - addr.sin_addr.s_addr = htonl(INADDR_ANY) + addr.sin_addr.s_addr = inet_addr(ip) if (bind(socket, addr.ptr.reinterpret(), sizeOf().convert()) < 0) { perror("Failed to bind") close(socket) @@ -43,8 +43,8 @@ public actual class Socket1 internal actual constructor() { memScoped { val mreq = alloc() mreq.imr_multiaddr.s_addr = inet_addr("224.0.0.251") - mreq.imr_interface.s_addr = htonl(INADDR_ANY) - if (setsockopt(socket, IPPROTO_TP, IP_ADD_MEMBERSHIP, mreq.ptr, sizeOf().convert()) < 0) { + mreq.imr_interface.s_addr = inet_addr(ip) + if (setsockopt(socket, IPPROTO_IP, IP_ADD_MEMBERSHIP, mreq.ptr, sizeOf().convert()) < 0) { perror("setsockopt IP_ADD_MEMBERSHIP") } }