Mac + Ruby: Nelze získat přístup k ioctl ze zásuvky? Jak opravit?

hlasů
3

Dobrý čas dne.

Ruby Code:

def hw_address(iface)
    sock = Socket.new(Socket::AF_INET, Socket::SOCK_DGRAM,0)

    buf = [iface,].pack('a16h16')
    sock.ioctl(SIOCGIFHWADDR, buf);

    sock.close

    return buf[18..24].to_etheraddr
end

puts hw_address('lo0')

Co se to dělá: dostane MAC adresy rozhraní.

Práce na Debianu, jak se očekávalo. Ale na Mac OS X, im stále chyba: `` ioctl : Operace není podporována na zásuvce (errno :: EOPNOTSUPP)`

Je tam stejně opravit / předat tuto chybovou zprávu a získat práci ioctlna zásuvky?

Položena 02/11/2009 v 05:03
zdroj uživatelem
V jiných jazycích...                            


1 odpovědí

hlasů
0

http://hintsforums.macworld.com/showthread.php?t=97909

„Následující funkce [s] nejsou k dispozici v systému Mac OS X:

1) POSIX časovač Library (-librt reálném čase) 2) ioctl s příkazem SIOCGIFHWADDR - Chcete-li získat MAC adresu síťové rozhraní „.

C'est la vie.

Odpovězeno 28/11/2011 v 23:09
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more