1 votos

Launchd De Multidifusión Socket De Escucha

No estoy seguro de si he perdido sólo parte de la documentación o no, pero estoy teniendo un tiempo difícil averiguar cómo configurar un launchd agente que puede ser activa cada vez que un datagrama se reciba dentro de un grupo de multidifusión.

Lo que me gustaría saber es qué launchd plist debe verse como proporcionar un datagrama oyente que está enlazado a un grupo de multidifusión.

Esto es lo que he estado tratando de:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>foo.bar</string>
    <key>Program</key>
    <string>/foo/bar</string>
    <key>Sockets</key>
    <dict>
        <key>Listeners</key>
        <dict>
            <key>SockType</key>
            <string>dgram</string>
            <key>SockServiceName</key>
            <string>12345</string>
            <key>SockFamily</key>
            <string>IPv4</string>
            <key>MulticastSocket</key>
            <string>224.0.0.253</string>
        </dict>
    </dict>
    <key>inetdCompatibility</key>
    <dict>
        <key>Wait</key>
        <false/>
    </dict>
</dict>
</plist>

Pero sólo genera getaddrinfo errores ("nodename ni servname siempre, o no se sabe"). Quitar el grupo de multidifusión sólo la instalación de un puerto UDP parece funcionar bien, pero yo realmente no quiero tener que codificar una dirección IP o DNS local.

Hay buenos ejemplos de cómo crear un multidifusión escuchar lanzar el agente o demonio mediante launchd? O me estoy perdiendo algún otro paso, o un malentendido qué datos debo ingresar para un grupo de multidifusión?

1voto

sunny256 Puntos 3262

Voy a poner esto una utilizando LaunchControl.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>foo/bar</string>
    <key>Program</key>
    <string>/foo/bar</string>
    <key>Sockets</key>
    <dict>
        <key>Sock1</key>
        <dict>
            <key>MulticastGroup</key>
            <string>224.0.0.253</string>
            <key>SockFamily</key>
            <string>IPv4</string>
            <key>SockProtocol</key>
            <string>UDP</string>
            <key>SockServiceName</key>
            <string>12345</string>
            <key>SockType</key>
            <string>dgram</string>
        </dict>
    </dict>
    <key>inetdCompatibility</key>
    <dict>
        <key>Wait</key>
        <true/>
    </dict>
</dict>
</plist>

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X