Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: В двух словах о TCP-сервере
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Программирование
Alt.F4
Добрый день.
Подскажите пожалуйста, насколько верно я понимаю ситуацию:
TCP-сервер - это программа, которая слушает определенный порт, при получении определенных данных они обрабатываются и высылается ответ.
В случае с WEB-сервером (например Apache) - по умолчанию слушается 80порт. По приходу HTTP-запроса открываются запрошенный HTML-файл и его содержимое высылается обратно (+ заголовки HTTP). В случае, если запрошен файл PHP, то запускается обработчик этого языка программирования и полученный HTML отправляется клиенту с заголовками HTTP созданными Apache'м.
Вроде так?
Спасибо.
Methane
Цитата(Alt.F4 @ Aug 26 2011, 18:27) *
Добрый день.
Подскажите пожалуйста, насколько верно я понимаю ситуацию:
TCP-сервер - это программа, которая слушает определенный порт, при получении определенных данных они обрабатываются и высылается ответ.
В случае с WEB-сервером (например Apache) - по умолчанию слушается 80порт. По приходу HTTP-запроса открываются запрошенный HTML-файл и его содержимое высылается обратно (+ заголовки HTTP). В случае, если запрошен файл PHP, то запускается обработчик этого языка программирования и полученный HTML отправляется клиенту с заголовками HTTP созданными Apache'м.
Вроде так?
Спасибо.

Примерно так. В контексте embedded можно скачать у атмела примеры для AVR32UC3
Alt.F4
Цитата
Примерно так. В контексте embedded можно скачать у атмела примеры для AVR32UC3
Не, я пока на МК не собираюсь TCP использовать.
Сейчас задача, понять как это работает на PC.

А вообще хочу убрать заголовки HTTP в ответе сервера, сейчас толкаю данные на сервер через GPRS-модем и в результате на 80байт полезной инфы, сервер отвечает 260байт шлака.
Интересно, может ли интерпретатор PHP стартовать раньше Apache и обработав инфу, высылать ответ миную Apache (дабы он не добавлял HTTP-заголовки)?
Слесарь
PHP это надстройка (плагин) Апач. Именно Апач вызывает нужный плагин.
Хотя я Апач не использовал, писал свой собственный HTTP сервер для проекта.
Alt.F4
А вообще используя виртуальный хостинг и только порт 80 можно изменить HTTP-заголовки в ответе сервера?
Спасибо.
з.ы. настройки Apache покрутить скорее всего не дадут.
Слесарь
А для чего это нужно?

Кста, там не шлак, а информация по которой ориентируются так же и другие узлы интернет, например прокси. Заведи себе сервер в аренду если хочется собственный протокол
Alt.F4
Нужно это для уменьшения трафика GPS-трекера.
Цитата
Заведи себе сервер в аренду если хочется собственный протокол
Прикинул, что не особо-то и выигрываю, даже если VPS тарить.

Повторюсь: а вообще используя виртуальный хостинг и только порт 80 можно изменить HTTP-заголовки в ответе сервера какими-либо средствами (PHP, Perl)?
Спасибо.
Слесарь
Думаю что НЕТ. А вообще вопрос ктем кто работает PHP.
В случае виртуального хостинга один IP и сервер на множество сайтов. И запросы ко всем сайтам приходят на один и тот же 80 порт, разбор к какому сайту конкретный запрос относится, по заголовку HTTP. Не думаю что будет интерфейс к изменению HTTP заголовка ответа сервера, так как сервер общего пользования и недопустимо какой-либо муклеж на общем ресурсе.
Спроси у службы поддержки хостинга.
sigmaN
Не так уж и дорого(видел где-то конфигурации слабее и дешевле почти в два раза. Не нашел просто)
http://www.hetzner.de/en/hosting/produkte_rootserver/x2

Думаю логичнее было-бы использовать свой протокол поверх TCP и без всяких там HTTP.
Никто не мешает поцепить его на 80порт, кстати(если другие порты закрыты фаерволом и клиент может подключаться только к 80).
Можено написать очень простой сервер используя inetd(xinetd). не придётся писать сетевую часть(обслуживание сокетов, принятие соединения и т.д.) очень удобно.
AlexandrY
Цитата(Alt.F4 @ Aug 26 2011, 19:55) *
Не, я пока на МК не собираюсь TCP использовать.
Сейчас задача, понять как это работает на PC.

А вообще хочу убрать заголовки HTTP в ответе сервера, сейчас толкаю данные на сервер через GPRS-модем и в результате на 80байт полезной инфы, сервер отвечает 260байт шлака.
Интересно, может ли интерпретатор PHP стартовать раньше Apache и обработав инфу, высылать ответ миную Apache (дабы он не добавлял HTTP-заголовки)?


PHP все может.
http://php.net/manual/ru/function.header.php
Вопрос только где дают такие административные права чтобы настраивать WEB сервер на использование PHP при формировании заголовков.
Это вроде как глобальные настройки.

Чтобы оверхед был меньше, накапливайте данные в бОльшие пакеты.
Alt.F4
Цитата
Думаю логичнее было-бы использовать свой протокол поверх TCP и без всяких там HTTP.
Никто не мешает поцепить его на 80порт
Тогда отпадает WEB-сервер и HTML через этот порт я уже не увижу.

Цитата
Чтобы оверхед был меньше, накапливайте данные в бОльшие пакеты.
Вот это идея что надо!
Кстати GET имеет ограничение на передачу 255символов на переменную или на всю строку запроса?
Спасибо.

(Добавлено) нашел на форуме по SIM900 интересный пост.
Цитата: "GET метод протестирован, передайт при возможности нашим китайским друзям что неплохо былоб предупреждать что ограничение URL у них порядка 420 символов"
Интересно, насколько правдива информация.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.