[279] | 1 | assert('Socket.gethostname') do
|
---|
| 2 | assert_true(Socket.gethostname.is_a? String)
|
---|
| 3 | end
|
---|
| 4 |
|
---|
| 5 | assert('Socket::getaddrinfo') do
|
---|
| 6 | ret = Socket.getaddrinfo("localhost", "domain", Socket::AF_INET, Socket::SOCK_DGRAM)
|
---|
| 7 | assert_true ret.size >= 1
|
---|
| 8 | a = ret[0]
|
---|
| 9 | assert_equal "AF_INET", a[0]
|
---|
| 10 | assert_equal 53, a[1]
|
---|
| 11 | # documents says it's a hostname but CRuby returns an address
|
---|
| 12 | #assert_equal "127.0.0.1", a[2]
|
---|
| 13 | assert_equal "127.0.0.1", a[3]
|
---|
| 14 | assert_equal Socket::AF_INET, a[4]
|
---|
| 15 | assert_equal Socket::SOCK_DGRAM, a[5]
|
---|
| 16 | assert_equal Socket::IPPROTO_UDP, a[6]
|
---|
| 17 | end
|
---|
| 18 |
|
---|
| 19 | assert('Socket#recvfrom') do
|
---|
| 20 | begin
|
---|
| 21 | sstr = "abcdefg"
|
---|
| 22 | s = Socket.new(Socket::AF_INET, Socket::SOCK_DGRAM, 0)
|
---|
| 23 | c = Socket.new(Socket::AF_INET, Socket::SOCK_DGRAM, 0)
|
---|
| 24 | s.bind(Socket.sockaddr_in(0, "127.0.0.1"))
|
---|
| 25 | c.send sstr, 0, s.getsockname
|
---|
| 26 | rstr, ai = s.recvfrom sstr.size
|
---|
| 27 |
|
---|
| 28 | assert_equal sstr, rstr
|
---|
| 29 | assert_true "127.0.0.1", ai.ip_address
|
---|
| 30 | ensure
|
---|
| 31 | s.close rescue nil
|
---|
| 32 | c.close rescue nil
|
---|
| 33 | end
|
---|
| 34 | end
|
---|