Перейти к содержимому


Фотография

Клиент-сервер новостей и сообщений


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 9

#1 Оффлайн   Zer0Galaxy

Zer0Galaxy
  • Гуру
  • Сообщений: 1 228
  • Уровень сигнала: 0%
  • В игре: 0 час. 0 мин.

Награды

   5                              

Отправлено 05 Май 2014 - 15:31

Руководство по настройке сервера сообщений и пример работы с клиентом
На первый компьютер (который будет сервером) записываем файл mess_serv.
Запускаем mess_serv
При первом запуске сервер создает:
- файл passwd, в котором будут храниться пароли пользователей
- директорию messages, в которой будут храниться непрочитанные сообщения
- директорию readed, в которой будут храниться прочитанные сообщения
- директорию news, в которую необходимо помещать новости
На другой компьютер записываем файл mess_client. Придется подкорректировать
первую строчку этого файла, указать ID первого компьютера.
Запускаем mess_client. В дальнейшем все команды вводим на компьютере-клиенте
Видим меню
Регистрируем первого пользователя. Клик по пункту "New user"
Вводим ник и пароль, например Vasya и 123
Видим сообщение "User Vasya connected"
отконекчиваемся "Logout"
и регистрируем второго пользователя "New user"
Petya 456
Посылаем сообщение первому пользователю "Send mess"
После запроса Destination user nick вводим имя первого пользователя (Vasya)
или стрелками Вверх-Вниз выбираем из уже зарегистрированных
и текст сообщения (Privet ot Peti)
отконекчиваемся "Logout"
Регистрируем третьего пользователя
Посылаем сообщение первому пользователю
отконекчиваемся
Заходим снова под первым пользователем: "Login", вспоминаем имя и пароль
Проверяем почту "Check mess"
Видим сообщение You have 2 new message(s)
Читаем первое сообщение "Read mess"
Видим <Petya> Privet ot Peti
Его можно удалить <Del> или перейти к следующему <Стрелка вправо>
Видим <Sasha> Privet ot Sashi

На сервере:
a - для получения id и имен активных пользователей
u - для получения имен всех зарегистрированных пользователей
q - выход

В директории news создаем несколько файлов с текстами новостей и снова
запускаем сервер, после чего их можно будет почитать с клиента нажав пункт "News"

Сервер http://pastebin.com/K7VhM2N5
Клиент http://pastebin.com/1RUTNKNx

#2 Оффлайн   Alex

Alex
  • Администраторы
  • Сообщений: 3 735
  • Уровень сигнала: 52,61%
  • В игре: 392 час. 51 мин.

Награды

                 

Отправлено 05 Май 2014 - 19:42

Отличная программка и очень полезная. Просьба, хотелось бы после входа в аккаунт смену меню, то есть при активной сессии должны убираться лишние кнопки. Немножко где-то баг при удалении сообщений, одно всегда остается, а стирается после добавления новых. Хотелось бы дату смс видеть, и циклично месседжи крутить, то есть с последнего на первую перескакивает запись. И кнопку "удалить все месседжи"! Понравилось, как на сервере можно посмотреть пользователей (активных, всех). Нельзя ли по какой-то кнопке добавлять новости, что-бы не лезть в папки. С модемом повозился, функция его видит, но просит открыть (стоял с самого начала WiFi) надо бы еще проверку всунуть на тип модема, видимо.

Можно будет на спавне поставить и штук 3-5 терминалов, игроки смогут друг-другу мессаги оставлять и прочее, новости писать можно игрокам, ходя для админов есть плагин automessage в чат.

Вот функция получения времени на сайте http://www.timeapi.org. Вместо /now можно указать часовой пояс /pdt/7+hours+before или /pdt/3+hours+after и прочее. Там куча аргументов.
Ну а уже строку 2014-05-05T17:33:48+01:00 функцией string.sub() повыкусывать себе дату, время в любом формате можно.

function getWorldTime()
    if not http then
        print("Pastebin requires http API!!!")
        print("Set enable API_http in ComputerCraft.cfg")
        return false
    end
    local response = http.get("http://www.timeapi.org/utc/now")  --change args
    
    if response then
        local time_mess = response.readAll()
        response.close()
        return time_mess
        else
        return false
    end
end

print(getWorldTime())

На спавн надо будет однозначно поставить, супер почтовичок, единственное, что интерфейсик бы допилить чуть-чуть.

#3 Оффлайн   PandaDoddo

PandaDoddo
  • Пользователи
  • Сообщений: 8
  • Уровень сигнала: 0,79%
  • В игре: 5 час. 53 мин.

Награды

     

Отправлено 28 Ноябрь 2014 - 19:27

Руководство по настройке сервера сообщений и пример работы с клиентом
На первый компьютер (который будет сервером) записываем файл mess_serv.
Запускаем mess_serv
При первом запуске сервер создает:
- файл passwd, в котором будут храниться пароли пользователей
- директорию messages, в которой будут храниться непрочитанные сообщения
- директорию readed, в которой будут храниться прочитанные сообщения
- директорию news, в которую необходимо помещать новости
На другой компьютер записываем файл mess_client. Придется подкорректировать
первую строчку этого файла, указать ID первого компьютера.
Запускаем mess_client. В дальнейшем все команды вводим на компьютере-клиенте
Видим меню
Регистрируем первого пользователя. Клик по пункту "New user"
Вводим ник и пароль, например Vasya и 123
Видим сообщение "User Vasya connected"
отконекчиваемся "Logout"
и регистрируем второго пользователя "New user"
Petya 456
Посылаем сообщение первому пользователю "Send mess"
После запроса Destination user nick вводим имя первого пользователя (Vasya)
или стрелками Вверх-Вниз выбираем из уже зарегистрированных
и текст сообщения (Privet ot Peti)
отконекчиваемся "Logout"
Регистрируем третьего пользователя
Посылаем сообщение первому пользователю
отконекчиваемся
Заходим снова под первым пользователем: "Login", вспоминаем имя и пароль
Проверяем почту "Check mess"
Видим сообщение You have 2 new message(s)
Читаем первое сообщение "Read mess"
Видим <Petya> Privet ot Peti
Его можно удалить <Del> или перейти к следующему <Стрелка вправо>
Видим <Sasha> Privet ot Sashi

На сервере:
a - для получения id и имен активных пользователей
u - для получения имен всех зарегистрированных пользователей
q - выход

В директории news создаем несколько файлов с текстами новостей и снова
запускаем сервер, после чего их можно будет почитать с клиента нажав пункт "News"

Сервер http://pastebin.com/K7VhM2N5
Клиент http://pastebin.com/1RUTNKNx

Какие библиотеки нужно "подключить"
т.е
local component = require("component") например. выходит ошибка на eventKey[keys.f6] (клиент)

pwdfilename=shell.resolve('passwd') (сервер)
помогите пожалуйста! 
версия майна 1.7.10

 


#4 Оффлайн   NEO

NEO
  • Пользователи
  • Сообщений: 1 748
  • Уровень сигнала: 4,88%
  • В игре: 36 час. 25 мин.
  • ГородСолнце

Награды

   3                        

Отправлено 28 Ноябрь 2014 - 20:38

эта программа под CC(ComputerCraft).


Сообщение отредактировал NEO: 28 Ноябрь 2014 - 20:39


#5 Оффлайн   Zer0Galaxy

Zer0Galaxy
  • Автор темы
  • Гуру
  • Сообщений: 1 228
  • Уровень сигнала: 0%
  • В игре: 0 час. 0 мин.

Награды

   5                              

Отправлено 28 Ноябрь 2014 - 20:41

Какие библиотеки нужно "подключить"
т.еlocal component = require("component") например. выходит ошибка на eventKey[keys.f6] (клиент)
pwdfilename=shell.resolve('passwd') (сервер)
помогите пожалуйста! 
версия майна 1.7.10


Если Вы про клиент-сервер новостей, то он писался под Computercraft и никаких дополнительных библиотек не требует. Но, похоже вопрос по моду OpenComputers

#6 Оффлайн   PandaDoddo

PandaDoddo
  • Пользователи
  • Сообщений: 8
  • Уровень сигнала: 0,79%
  • В игре: 5 час. 53 мин.

Награды

     

Отправлено 29 Ноябрь 2014 - 01:56

Если Вы про клиент-сервер новостей, то он писался под Computercraft и никаких дополнительных библиотек не требует. Но, похоже вопрос по моду OpenComputers

верно по OC т.е никак не перенести с CC на OC?(



#7 Оффлайн   NEO

NEO
  • Пользователи
  • Сообщений: 1 748
  • Уровень сигнала: 4,88%
  • В игре: 36 час. 25 мин.
  • ГородСолнце

Награды

   3                        

Отправлено 29 Ноябрь 2014 - 01:58

Все можно.

#8 Оффлайн   DUIIIES

DUIIIES
  • Пользователи
  • Сообщений: 280
  • Уровень сигнала: 0%
  • В игре: 0 час. 0 мин.
  • ГородКоролёв

Отправлено 29 Ноябрь 2014 - 02:14

верно по OC т.е никак не перенести с CC на OC?(

Перенести-то можно, но для этого нужен человек, знакомый с обоими модами и готовый перелопатить 612 строк кода, чтобы определить что всё-таки необходимо подключать и переписать весть код под ОК.



#9 Оффлайн   Zer0Galaxy

Zer0Galaxy
  • Автор темы
  • Гуру
  • Сообщений: 1 228
  • Уровень сигнала: 0%
  • В игре: 0 час. 0 мин.

Награды

   5                              

Отправлено 29 Ноябрь 2014 - 09:37

Я знаю такого человека - Тоторо. С ним надо договариваться

#10 Оффлайн   DUIIIES

DUIIIES
  • Пользователи
  • Сообщений: 280
  • Уровень сигнала: 0%
  • В игре: 0 час. 0 мин.
  • ГородКоролёв

Отправлено 29 Ноябрь 2014 - 09:47

Я знаю такого человека - Тоторо. С ним надо договариваться


Да, да, когда писал, фраза "нужен человек" в голове уже звучала, как "Тоторо":D
А вообще NEO вон задумал делать автоматического Тоторо, способного быстренько портировать программы с несколькими тысячами строк кода)

Тема с Totoro (automatical edition) вот тут: http://computercraft...iew=getnewpost.
  • Fingercomp это нравится




Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных