RiseAboveHate

asdasd

Jul 17th, 2025
227
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.20 KB | None | 0 0
  1. -- dns_client.lua
  2.  
  3.  
  4. local modemSide = "left"
  5.  
  6.  
  7. while not peripheral.isPresent(modemSide) or peripheral.getType(modemSide) ~= "modem" do
  8.   print("Waiting for modem on side '" .. modemSide .. "'...")
  9.   sleep(1)
  10. end
  11.  
  12.  
  13. rednet.open(modemSide)
  14. print("Rednet opened on side '" .. modemSide .. "'")
  15.  
  16.  
  17. local myName = "webServer"
  18.  
  19.  
  20. while peripheral.isPresent(modemSide) do
  21.   -- 4a) בקשה לקבלת IP ייחודי
  22.   rednet.broadcast({ cmd = "requestIP", name = myName }, "DNS")
  23.   local sender, reply = rednet.receive("DNS", 5)
  24.  
  25.   if reply and reply.ip then
  26.     print("Assigned IP:", reply.ip)
  27.   else
  28.     print("Registration failed, retrying in 5 seconds...")
  29.     sleep(5)
  30.     goto continue
  31.   end
  32.  
  33.  
  34.   write("Enter hostname to resolve (or leave blank to skip): ")
  35.   local target = read()
  36.   if target ~= "" then
  37.     rednet.broadcast({ cmd = "resolve", name = target }, "DNS")
  38.     local _, r2 = rednet.receive("DNS", 5)
  39.     if r2 and r2.ip then
  40.       print(target .. " → " .. r2.ip)
  41.     else
  42.       print("No record for '" .. target .. "'")
  43.     end
  44.   end
  45.  
  46.   ::continue::
  47.   -- 4c) המתן קצת לפני הלולאה הבאה
  48.   sleep(2)
  49. end
  50.  
  51. print("Modem disconnected; client stopping.")  
  52.  
Advertisement
Add Comment
Please, Sign In to add comment