Advertisement
ReDestroyDeR

City17 Network

Oct 8th, 2017
173
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.88 KB | None | 0 0
  1. --Библиотеки
  2. local com = require("component")
  3. local ss = require("term")
  4. local text = require("text")
  5. local fs = require("filesystem")
  6. local event = require("event")
  7.  
  8. --Компоненты
  9. local modem = com.modem
  10. local gpu = com.gpu
  11.  
  12. --TODO Сохранения
  13. --local function saveSomething(filename, filepath, data1, data2, data3)
  14.    
  15.    
  16.    
  17. --end
  18.  
  19. --Установка соеденения
  20. local function setUp()
  21.    
  22.     --Проверка порта
  23.     if(modem.open(6785) == false) then
  24.  
  25.         --gpu.setForeground(0x)
  26.         modem.open(6785)
  27.         print("Network port has been established successfully...")
  28.  
  29.     else
  30.  
  31.         --gpu.setForeground(0x)
  32.         print("Network port actually established, going to next part...")
  33.  
  34.     end
  35.  
  36.     --Регистрация
  37.  
  38.     if(fs.exists("home/tmp/userinfo.txt")) then
  39.  
  40.         --gpu.setForeground(0x)
  41.         print("Welcome back ")
  42.         gb()
  43.  
  44.     else
  45.  
  46.         --gpu.setForeground(0x)
  47.         print("Write your name: ")
  48.         local yourName = ss.read(yourName)
  49.         local yourName = text.trim(yourName)
  50.         fs.open("home/tmp/userinfo.txt")
  51.         gb()
  52.  
  53.     end
  54.    
  55.     --Глобальный броадкаст по порту
  56.     local function gb()
  57.  
  58.         modem.broadcast(6785, "Новый пользователь подключился к локальной сети City 17...")
  59.         print("Сообщение о регистрации отправлено... Ожидание ответа от сервера...")
  60.         while true do
  61.  
  62.             --localAddress; remoteAddress; port; distance; message;
  63.             local _,regserv,_,dis,status = event.pull("modem_message")
  64.  
  65.             if(type(status) == boolean) then
  66.  
  67.                 --gpu.setForeground(0x)
  68.                 print("Host: "..regserv.."; Distantion: "..dis.."; Status: "..status)
  69.  
  70.             else
  71.                
  72.                 --gpu.setForeground(0x)
  73.                 print("Host: "..regserv.."; Distantion: "..dis.."; Error: "..status)           
  74.                 print("Retrying...")
  75.                 gb()
  76.        
  77.             end
  78.  
  79.         end
  80.        
  81.     end
  82. end
  83.  
  84. setUp()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement