トップ «前の日記(2002-09-14) 最新 次の日記(2002-09-17)» 編集

Pyon's Diary

[はてなブックマーク登録数] [Google に登録] [RSS フィード] Gourmet Hardware Programming Society Software
成る可くJIS X 0213:2004對應MSフォント(5.0)、IPAフォント(003.02)で御覽下さい

2002-09-16 舊 平成拾肆年葉月拾日 (雨) [長年日記]

[節] Rubyで自ホストのIPアドレスを取得する。

前に書いたLinuxで自ホストのIPアドレスを取得するの續き。

今囘はRubyIO#ioctlを用ゐて同じ事をする。

大體此んな感じ。

# ioctl.rb
require 'socket'

str = ['eth0', 0, 0, 0, 0, 0, 0].pack("a16SSCCCC")

begin
	socket = UDPSocket.open
	# IP address
	socket.ioctl(0x8915, str)
	p str.unpack("a16SSCCCC")[3..6].join(".")
	# Broadcast address
	socket.ioctl(0x8919, str)
	p str.unpack("a16SSCCCC")[3..6].join(".")
	# Netmask
	socket.ioctl(0x891B, str)
	p str.unpack("a16SSCCCC")[3..6].join(".")
ensure
	socket.close
end

此を實行すると此んな感じ。

$ ruby ioctl.rb
"192.168.0.34"
"192.168.0.255"
"255.255.255.0"

此はRed Hat Linux (7.3)で行つたのだけど他のOSではだう遣れば良いのだらう?。

Tags: Programming Ruby | del.icio.usに追加 | はてなブックマークに追加 | livedoor クリップに追加 | Yahoo! ブックマークに追加 | Google ブックマークに追加 | Permalink

[節] 晩御飯を書くのを忘れてゐた。

  • 寄鍋。
Tags: None | del.icio.usに追加 | はてなブックマークに追加 | livedoor クリップに追加 | Yahoo! ブックマークに追加 | Google ブックマークに追加 | Permalink
本日のツッコミ(全2件) [ツッコミを入れる]
[ツ] なつこ (2002-09-16 23:27)

夕御飯は食べてないのでせうか?

[ツ] こ○ばえ (2002-09-17 11:54)

すっかり寒くなりました.

[]

© pyon