Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- dns_client.lua
- local modemSide = "left"
- while not peripheral.isPresent(modemSide) or peripheral.getType(modemSide) ~= "modem" do
- print("Waiting for modem on side '" .. modemSide .. "'...")
- sleep(1)
- end
- rednet.open(modemSide)
- print("Rednet opened on side '" .. modemSide .. "'")
- local myName = "webServer"
- while peripheral.isPresent(modemSide) do
- -- 4a) בקשה לקבלת IP ייחודי
- rednet.broadcast({ cmd = "requestIP", name = myName }, "DNS")
- local sender, reply = rednet.receive("DNS", 5)
- if reply and reply.ip then
- print("Assigned IP:", reply.ip)
- else
- print("Registration failed, retrying in 5 seconds...")
- sleep(5)
- goto continue
- end
- write("Enter hostname to resolve (or leave blank to skip): ")
- local target = read()
- if target ~= "" then
- rednet.broadcast({ cmd = "resolve", name = target }, "DNS")
- local _, r2 = rednet.receive("DNS", 5)
- if r2 and r2.ip then
- print(target .. " → " .. r2.ip)
- else
- print("No record for '" .. target .. "'")
- end
- end
- ::continue::
- -- 4c) המתן קצת לפני הלולאה הבאה
- sleep(2)
- end
- print("Modem disconnected; client stopping.")
Advertisement
Add Comment
Please, Sign In to add comment