Python. Web-приложения.
Запись от Фаер размещена 09.01.2013 в 17:36
Показов 5459
Комментарии 0
|
Пожалуй, каждый в душе мечтает завести свой собственный сайт. По хорошему, для этого Вам нужно арендовать "белый" IP-адрес, который будет виден из Интернета. Так же можно прибегнуть к услугам особых компаний, которые предоставляют домены взамен на право размещать на Вашем сайте рекламу. Кроме того, чтобы создать серьёзный сайт, Вам нужно знать HTML, CSS и ещё тучу всякой ереси. Пока что в такие дебри Мы лезть не будем, а посмотрим как можно создать локальный сервер, не доступный из Интернета. При этом, Вам не обязательно иметь второй компьютер или целую локальную сеть. Клиенты будут запускаться прямо на том же ПК, что и сервер, только в других процессах. Первое, что Нам нужно, это IP-адрес будущего сервера(то есть, Вашего компьютера) в сети. Нажмите Пуск->Выполнить. Впишите в поле для ввода 'cmd', чтобы вызвать командную строку. Затем напишите ipconfig/all. В ответ Вы получите информацию о доступных на данном компьютере сетевых интерфейсах. Теперь Вам нужно найти что-то типа "Подключение по локальной сети - Internet адаптер". В этом разделе найдите строку 'IP-адрес .......x.x.x.x'. У Меня, например, там написано "192.168.0.2". Если, проделав вышеописанные операции, Вы так и не нашли IP, не беда, всегда можно использовать адрес 127.0.0.1, а можно и, вообще, вместо адреса ввести строку 'localhost' и все дела. Далее. Вам нужно знать, что такое сокеты. Строгое определение этого понятия можно найти в Википедии и т.п. сайтах. Если же сказать просто и кратко, то сокет - это труба, по которой процессы могут гонять информацию друг другу. Естественно, эти процессы могут выполняться на компьютерах, связанных друг с другом через WWW. Сокет, в общем-то, и является основным инструментом передачи данных в Интернете. Следует заметить, что сокеты присоединяются друг к другу через порт. Каждый порт имеет свой ID - номер. Желательно, по крайней мере пока, не использовать порты с номерами 0-1023, так как они зарезервированы под стандартные протоколы передачи данных. В общем и целом, для того, чтобы создать элементарный сервер и клиентов, знать что-то ещё не очень-то и нужно. Следовательно, Мы переходим непосредственно к написанию программ. Сервер Сервер - программа, которая подключается к порту и "слушает" его. Если обнаруживается входящее подключение, сервер принимает информацию от клиента и отправляет ответ.
Клиент Клиент - программа, которая подключается к порту и передаёт на сервер некоторую информацию, а затем получает ответ.
Теперь запустите сервер, а затем клиент. В результате, каждый из них должен вывести на экран строку, полученную от собеседника(не забывайте, что при работе в консоли нужно писать input(), чтобы успеть прочитать то, что выводит программа). Если помните, в программе сервера, с помощью метода listen(), Мы указали максимальное кол-во ожидающих клиентов, равное двум. Это означает, что, пока сервер обрабатывает запрос одного клиента, ещё два могут стоять в очереди. А вот если попробует подключиться третий(четвёртый, если считать того, с которым сервер уже работает), то его запрос будет отклонён. Конечно, в данной программе такая проблема вряд ли возникнет, но так, на будущее, скажу, что решить её можно с помощью старых-добрых параллельных потоков. А теперь давайте передадим через сокет какой-нибудь файл, например html. Если Вы не знаете HTML, то просто скопируйте код, размещённый ниже и занесите его в текстовый файл. Затем измените расширение файла на .html и получите самый настоящий HTML-файл.
Клиент:
| |||||||||||||||||||||||||
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 0
Комментарии


