AR2000

OpenComputer cloud_serveur

Mar 24th, 2017 (edited)
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.81 KB | None | 0 0
  1. local filesystem = require("filesystem")
  2. local component = require("component")
  3. local event = require("event")
  4. local serialization = require("serialization")
  5. local os = require("os")
  6. local table = require("table")
  7. local io = require("io")
  8. local text = require("text")
  9. local term = require("term")
  10.  
  11. name = "ALPHA"
  12. modem = component.modem
  13. default_timeout = 2
  14. liste = {}
  15. --wd = "mnt/"..text.wrap(component.filesystem.address,4,3)
  16. wd = "/mnt/507"
  17. local_port = 22
  18.  
  19. modem.open(local_port)
  20. gpu = term.gpu()
  21. gpu.setResolution(20,5)
  22. term.clear()
  23. print("CLOUD "..name)
  24. print("STATUS : ONLINE")
  25. print("PORT : "..local_port)
  26. print("TIMEOUT : "..default_timeout.."s")
  27. print("HHD : "..wd)
  28.  
  29. function notice()
  30.   modem.broadcast(22,"CLOUD",name)
  31. end
  32.  
  33. function recive()
  34.   __,__,add,port,__,message1,message2,message3 = event.pull(default_timeout,"modem_message")
  35.   if message1 == nil or message2 == nil then
  36.     return false
  37.   else
  38.     return false
  39.   end
  40. end
  41.  
  42. function send_file(file_path)
  43.   os.sleep(0.1)
  44.   file=io.open(file_path,"r")
  45.   text=file:read("*a")
  46.   modem.send(add,port,"!file",text)
  47.   file:close()
  48. end
  49.  
  50. function recive_file()
  51.   file=io.open(wd..message2,"w")
  52.   file:write(message3)
  53.   file:close()
  54. end
  55.  
  56. while true do
  57.   liste={}
  58.   notice()
  59.   recive()
  60.   if message1 == "!ls" then
  61.     for file in  filesystem.list(wd..message2) do
  62.       table.insert(liste,file)
  63.     end
  64.     modem.send(add,port,"!ls",serialization.serialize(liste))
  65.   elseif message1 == "TERMINATE" then
  66.     gpu.setResolution(50,16)
  67.     break
  68.   elseif message1 == "!file" then
  69.     send_file(wd..message2)
  70.   elseif message1 == "!upload" then
  71.     recive_file()
  72.   elseif message1 == "!mk" then
  73.     filesystem.makeDirectory(wd.."/"..message2)
  74.   elseif message1 == "!rm" then
  75.     filesystem.remove(wd.."/"..message2)
  76.   end
  77. end
Add Comment
Please, Sign In to add comment