Obtenir les memes fonctions réseau sous linux et so us windows
[ Nouvelle discussion
| Répondre au groupe
|
fr.comp.lang.ruby ]
Bonjour, j'utilise régulièrement les deux bouts de code suivant
*****************************
def get_ip(device_name='eth0')
device=[device_name]
ifr = device.pack('a16')
sock = Socket.new(Socket::AF_INET, Socket::SOCK_DGRAM, 0)
ret=sock.ioctl(0x8915, ifr) #SIOCGIFADDR = 0x8915
if 0 == ret
ip='%d.%d.%d.%d' % ifr.unpack('x20 C4')
else
#Gestion de l'erreur l'interface eth0 ne doit pas etre definie
raise "Gestion de l'erreur dans get ip ret=#{ret}"
end
sock.close
return ip
end
*****************************
*****************************
@tcp_server = TCPServer.new(@ip,0)
af, @port, host, @ip = @tcp_server.addr
*****************************
Le premier me permet d'obtenir l'IP d'une interface réseau et le
second d'ouvrir un socket sur un port libre.
Ces deux bouts de code ne fonctionne pas sous windows.
J'aimerais savoir si vous avez des pistes pour réaliser la même chose
sous windows.
Cordialement

|
 cette fonctionnalité est reservée aux membres ayant une session active !
|