Advertisement
Guest User

netlib

a guest
Dec 18th, 2014
174
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.26 KB | None | 0 0
  1. -- SharpNet library v1 --
  2.  
  3. protocols = {INTERNET_REQUEST = "internet1.request", INTERNET_RESPONSE = "internet1.response"}
  4.  
  5. function getModem()
  6.   local modemside = nil
  7.   for n,side in ipairs(rs.getSides()) do
  8.     if(peripheral.getType(side) == "modem") then
  9.       modemside = side
  10.       break
  11.     end
  12.   end
  13.   return modemside
  14. end
  15.  
  16. function waitForProtocol(proto, pings)
  17.   while true do
  18.     id, msg, prot = rednet.receive()
  19.     print("Recieved message from " .. id .. " with protocol '" .. prot .. "'")
  20.     if(prot == proto) then
  21.       return {senderID = id, message = msg, protocol = prot}
  22.     elseif(prot == "ping" and pings == true) then
  23.       print("Returning ping to " .. id)
  24.       rednet.send(id, message, "ping")
  25.     end
  26.   end
  27. end
  28.  
  29. function ping(server, time)
  30.   modem = getModem()
  31.   if(modem ~= nil) then
  32.     rednet.open(modem)
  33.    
  34.     packet = math.random(1000)
  35.    
  36.     rednet.send(server, packet, "ping")
  37.    
  38.     obj = waitForProtocol("ping")
  39.     if(obj["senderID"] ~= server) then
  40.       print("Recieved senderID differs from server")
  41.       print("Sent to: " .. server .. "; recieved: '" .. obj["senderID"] .. "'")
  42.     else
  43.       print("Recieved ping from " .. obj["senderID"])
  44.     end
  45.   else
  46.     print("Could not find modem")
  47.   end
  48. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement