Спустя 9 минут, 40 секунд (27.05.2009 - 13:56) jetistyum написал(а):
почитай
тут
http://arv.radioliga.com/index.php?option=...atid=25&id=1049
и тут
тут http://www.weberdev.com/get_example-4347.html
все ресурсы взяты из поиска.
тут
http://arv.radioliga.com/index.php?option=...atid=25&id=1049
и тут
тут http://www.weberdev.com/get_example-4347.html
все ресурсы взяты из поиска.
Спустя 40 минут, 36 секунд (27.05.2009 - 14:37) fever написал(а):
Цитата (jetistyum @ 27.05.2009 - 10:56) |
почитай тут http://arv.radioliga.com/index.php?option=...atid=25&id=1049 и тут тут http://www.weberdev.com/get_example-4347.html все ресурсы взяты из поиска. |
Спасибо большое, не мог найти сам и написал сюда. Но стоило просто поменять слова в запросе местами, как выплыли ссылки на нужную инфу . Скачал либы для php и винды, php-класс. Поставил все, как было в инструкции, не работает. Нашел в каментах на том сайте, что оказывается версия пхп должна быть "5.0 to 5.1.2", у меня несколько поновей. Дома тогда буду пробовать для более старой версии. Спасибо еще раз
Спустя 3 минуты, 18 секунд (27.05.2009 - 14:40) sergeiss написал(а):
Так ты хочешь читать порт на сервере или же у клиента?
Спустя 16 минут, 12 секунд (27.05.2009 - 14:56) fever написал(а):
Цитата (sergeiss @ 27.05.2009 - 11:40) |
Так ты хочешь читать порт на сервере или же у клиента? |
На сервере, выглядеть будет примерно так: к компу подключен девайс через com-порт с различными кнопками. На этом же компе запущен сервак, открыт браузер и запущен нужный скрипт. По нажатию на кнопки девайса, на странице должна выводится информация (ну или что-то другое происходить, неважно). Т.е. по сути и клиент и сервер - физически одна и та же машина.. Правда пока смутно себе представляю, как должен работать скрипт, чтобы реагировать на сигнал из ком-порта.. Одно дело просто считать статус (код) при его отработке, а другое - постоянно слушать com-порт..
Спустя 11 минут, 39 секунд (27.05.2009 - 15:08) sergeiss написал(а):
А почему именно ПХП, если всё работает на одной машине???
Но даже если и ПХП, то еще тебе понадобятся ДжаваСкрипт и Аджакс (Аякс). Опять же - насколько оперативно должно реагировать.
Вообще, например, на C++Builder такую прогу сделать недолго. И просто.
Но даже если и ПХП, то еще тебе понадобятся ДжаваСкрипт и Аджакс (Аякс). Опять же - насколько оперативно должно реагировать.
Вообще, например, на C++Builder такую прогу сделать недолго. И просто.
Спустя 12 минут, 36 секунд (27.05.2009 - 15:20) fever написал(а):
Цитата (sergeiss @ 27.05.2009 - 12:08) |
Но даже если и ПХП, то еще тебе понадобятся ДжаваСкрипт и Аджакс (Аякс). Опять же - насколько оперативно должно реагировать |
Угу, судя по всему придется дергать аяксом каждые так секунд 5 этот скрипт.. Хотя опять же, что подразумевать под "нажатием на клавишу девайса" - если нажатие подразумевает собой просто клик, как на клавиатуре - то на момент очередного аякс-запроса сигнала от ком-порта может уже и не быть.. Чем дальше, тем все безумней эта идея кажется :-)
По поводу почему не на C - я писал, что да, проще конечно на нем, но инетресно было освятить этот вопрос с точки зрения как такое на пхп можно было бы сделать. Судя по всему это получится какое-то извращение.
Спустя 26 минут, 15 секунд (27.05.2009 - 15:47) sergeiss написал(а):
С точки зрения ПХП, когда порт находится на сервере, получаем простой подход.
Нужны:
1. Спецпрога, работающая с портом.
2. Библиотека, которая от имени ПХП общается с портом.
Тогда эта спецпрога получает данные, и когда ее спрашивают, то отдаёт весь буфер, накопившийся со времени последнего обращения.
А из ПХП (через некие функции, прописанные в dll) уже идет обращение как раз к этой проге. Мол, "дай мне последние данные с порта" или "запиши такие-то данные в порт".
На самом деле, и под Си работа с портом идет подобным образом. Только там время реагирования на поступление данных очень небольшое. И эта "спецпрога" интегрирована с приложением, является его частью.
А на самом деле, есть и еще один посредник между портом и программой - это операционная система
Короче говоря... "Работа с портом под ПХП" сведется к тому, что всё равно нужна будет дополнительная программа. Данные из порта будут забираться ПХП скриптом, и еще придется работать с Аяксом, чтобы оперативно получать эти данные на клиентской стороне.
В то же время, если ты для Си или Дельфи возьмешь специальные компоненты, то можешь "сваять" прогу за 1 день.
Нужны:
1. Спецпрога, работающая с портом.
2. Библиотека, которая от имени ПХП общается с портом.
Тогда эта спецпрога получает данные, и когда ее спрашивают, то отдаёт весь буфер, накопившийся со времени последнего обращения.
А из ПХП (через некие функции, прописанные в dll) уже идет обращение как раз к этой проге. Мол, "дай мне последние данные с порта" или "запиши такие-то данные в порт".
На самом деле, и под Си работа с портом идет подобным образом. Только там время реагирования на поступление данных очень небольшое. И эта "спецпрога" интегрирована с приложением, является его частью.
А на самом деле, есть и еще один посредник между портом и программой - это операционная система
Короче говоря... "Работа с портом под ПХП" сведется к тому, что всё равно нужна будет дополнительная программа. Данные из порта будут забираться ПХП скриптом, и еще придется работать с Аяксом, чтобы оперативно получать эти данные на клиентской стороне.
В то же время, если ты для Си или Дельфи возьмешь специальные компоненты, то можешь "сваять" прогу за 1 день.
Спустя 28 минут, 45 секунд (27.05.2009 - 16:15) fever написал(а):
Цитата (sergeiss @ 27.05.2009 - 12:47) |
1. Спецпрога, работающая с портом. 2. Библиотека, которая от имени ПХП общается с портом. |
Да вот в том-то и дело, что такая связка есть уже, есть dll для винды и extension для php. И читать ком-порт из пхп-скрипта можно, но вот в том-то и загвоздка что
Цитата (sergeiss @ 27.05.2009 - 12:47) |
получает данные, и когда ее спрашивают |
Т.е. опять же - надо дерагть скрипт, и связка такая - клиент постучался - скрипт спросил - прога пропинговала порт - получила какой-то код - вернула скрипту, скрипт отработал данные - послал клиенту. А вот если бы было наоборот - ком-порт послал сигнал - прога перехватила - дернула скрипт, передав ему данные - вот тогда было бы здорово.. Но опять же тут основное это "прога"..
Но в принципе - "постоянная прослушка" для пхп - это реально? Неважно чего, буть то com-порт или сокет. Просто все время слушать (на стороне сервака) и реагировать на изменения, оповещая клиента при этом
Спустя 17 минут, 41 секунда (27.05.2009 - 16:33) waldicom написал(а):
Знаете, можно с вилами против танка воевать. Будет ли оно правильно, даже если это интересно?
Для каждой задачи - свой инструмент.
ПыхПых может слушать постоянно, например сокеты.
Для каждой задачи - свой инструмент.
ПыхПых может слушать постоянно, например сокеты.
Спустя 4 часа, 27 минут, 49 секунд (27.05.2009 - 21:01) sergeiss написал(а):
Сорри Хотел ответить днем еще, но интернет заглючил.
Цитата (fever @ 27.05.2009 - 17:15) |
связка такая - клиент постучался - скрипт спросил - прога пропинговала порт - получила какой-то код - вернула скрипту, скрипт отработал данные - послал клиенту. |
Не совсем так.
Прога постоянно "пингует" порт, копит данные. Скрипт обратился - данные получил.
Цитата (fever @ 27.05.2009 - 17:15) |
А вот если бы было наоборот - ком-порт послал сигнал - прога перехватила - дернула скрипт, передав ему данные - вот тогда было бы здорово.. Но опять же тут основное это "прога".. |
Не получится Потому что на самом деле порт ничего не посылает скрипту или программе. Либо - делать прогу на ассемблере, внедрять ее в систему... Тогда она сможет что-то вызывать. Но - не скрипт. Потому что скрипт сам должен сделать запрос Замкнутый круг.
Цитата (fever @ 27.05.2009 - 17:15) |
Но в принципе - "постоянная прослушка" для пхп - это реально? Неважно чего, буть то com-порт или сокет. Просто все время слушать (на стороне сервака) и реагировать на изменения, оповещая клиента при этом |
Опять повторю: не так это работает!
ПХП просто формирует страницу для клиента, не более того!!!!! Сам по себе ПХП не позволяет ничего слушать "в динамике". Это просто умный язык для формирования страниц.
Вот если ты используешь Аякс, то тогда получаешь динамику. Этот Аякс запускает отдельный ПХП-скрипт и ждет ответа от сервера. При этом либо заканчивается таймер, либо получаем ответ. А потом опять запускаем этот же скрипт, и опять ждем ответа. И так далее.
То есть, в этом случае клиент получит ответ сервера (при поступлении данных) довольно оперативно.