Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- SharpNet library v1 --
- protocols = {INTERNET_REQUEST = "internet1.request", INTERNET_RESPONSE = "internet1.response"}
- function getModem()
- local modemside = nil
- for n,side in ipairs(rs.getSides()) do
- if(peripheral.getType(side) == "modem") then
- modemside = side
- break
- end
- end
- return modemside
- end
- function waitForProtocol(proto, pings)
- while true do
- id, msg, prot = rednet.receive()
- print("Recieved message from " .. id .. " with protocol '" .. prot .. "'")
- if(prot == proto) then
- return {senderID = id, message = msg, protocol = prot}
- elseif(prot == "ping" and pings == true) then
- print("Returning ping to " .. id)
- rednet.send(id, message, "ping")
- end
- end
- end
- function ping(server, time)
- modem = getModem()
- if(modem ~= nil) then
- rednet.open(modem)
- packet = math.random(1000)
- rednet.send(server, packet, "ping")
- obj = waitForProtocol("ping")
- if(obj["senderID"] ~= server) then
- print("Recieved senderID differs from server")
- print("Sent to: " .. server .. "; recieved: '" .. obj["senderID"] .. "'")
- else
- print("Recieved ping from " .. obj["senderID"])
- end
- else
- print("Could not find modem")
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement