Ruby/Сети: различия между версиями

Содержимое удалено Содержимое добавлено
м робот косметические изменения
Строка 1:
 
== Сети ==
 
Строка 580 ⟶ 579 :
=== Гнёзда, которые свили не птицы ===
 
[[ИзображениеФайл:Гнезда.png|frame|center|Примерное содержание главы]]
 
=== Как пропинговать компьютер в сети? ===
Строка 981 ⟶ 980 :
Вот как выглядит страница <code>index.html</code> после обработки браузером (<code>Firefox</code>):
 
[[ИзображениеФайл:RubyBooks_Index_html.png|center|Вид страницы public_html/index.html в Firefox]]
 
Теперь рассмотрим серверную часть программы (сервлет <code>/input</code>), которая будет обрабатывать запросы (сформированные файлом <code>public/index.html</code>). Сервлет является частью сервера. Поэтому листинг сервера будет одновременно и листингом сервлета.
Строка 1069 ⟶ 1068 :
:* HTML-код: <code><nowiki><html><body><div style="align:center"><form action='/' method='post'><textarea rows='5' cols='60'>#{ … }</textarea><br/><input type='submit' value='Повторим?'></form></div></body></html></nowiki></code>; просто создаёт окружения для наших выходных данных. В частности видно, что наши выходные данные будут помещаться в тег <code>textarea</code>. Это сделано для того, чтобы удобней было копировать данные. Вот примерно так это будет выглядеть в браузере:
 
[[ИзображениеФайл:RubyBooks_Input.png|center|Пример работы сервлета /input]]
 
:* Код обработки данных: <code>req.query.map{ |key, value| bosses[key] }.compact.join("\n")</code>; получает список передаваемых параметров в виде ассоциативного массива (метод <code>.query</code>) и заменяет имена переменных на значения из ассоциативного массива <code>bosses</code>. Далее идёт преобразование в строку при помощи метода <code>.join("\n")</code>.