|
|
|
Эхо-сервера
|
|||
|---|---|---|---|
|
#18+
Добрый день! Преподаватель дал задание: Составить программу ЭХО-сервера и продемонстрировать его работу.(Отвечает то, что получает) Вот Я сделал, посмотрите и хотелось бы внизу прочли, правильно так будет ему продемонстрировать Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. У нас есть программа Эхо-сервера, функция main и блок который занесен в оператор try, Если есть исключение, то оно отлавливается. В первой строчке у нас есть преобразование полученного параметра, в качестве параметра Мы передаём название узла, с которым хотим связатся. Если узел не передали, то тогда берём локальный узел, тоесть имя этого компютера, которые всегда является localhost (по названию). Название этого узла преобразуется в адрес(IP адрес, который будет использован дальше в программе) . Во второй строчке создаётся Socket(это точки в компютерах, которые связываются между собой, получаются "узлы"). Здесь он создаётся и заносится в переменную y. Третья строчка объявляется DataInputStream z - это входной поток какой-то, и он создаётся, и внего перенаправляется вход Socketa(присваиваем входной поток от Socketa). Тоесть всё что будет входить от Socketa удет заносится в переменную z. Дальше переменная, перенаправляется в неё будет из системной консоли. Дальше поток печати - это какой-то выходной поток и перенаправляется выходной поток Socketa. Всё что будет выводится в o будет выводится в Socket. Дальше идёт цикл, в котором мы получаем данные из консоли и выполняем цикл до тех пор, пока пользователь не введёт слово QUIT. В этом цикле мы выводим в Socket, то что ввели с клавиатуры, вот тут видно предназначение переменной о (в PrintStream выходного потока, она ассоциирована с выходным потоком Socketa). Тоесть всё что мы выведем здесь в PrintStream o, оно выведется в Socket ну и дальше туда куда оно назначено в первой строчке адреса. И вторая строчка в цикле System.out.println - она выводит на экран(на консоль), то что мы получили из Socketa(точно нее то что мы получили посети). И в случае если у нас в первой строчке было определено что параметры нам не передали и мы поставили localhost, что является локальной машиной, Тоесть узел выбирается как текущая машина, он не ищется где-то по сети, а он является сам собой, то если анализиривать две строчки o.println(s); System.out.println("Received :"+z.readLine()); То в первой строчке мы выводим Socket, но так как Socket, он и входной и выходной одинаково находятся на машине, то вторая строчка выведет то что было за printlnнено в первой строчке цикла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2012, 01:41:34 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=315&tid=2132791]: |
0ms |
get settings: |
17ms |
get forum list: |
25ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
48ms |
get topic data: |
18ms |
get forum data: |
5ms |
get page messages: |
52ms |
get tp. blocked users: |
3ms |
| others: | 361ms |
| total: | 541ms |

| 0 / 0 |
