[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: PHP и работа с COM-портами
multik
Здравствуйте.

Значит задача такая: есть мобилка, подключенная к компу. Через неё можно с ПК отправлять SMS с помощью формата PDU. Для этого нужно на COM порт, к которому подключена мобилка, посылать и читать данные.
Я уже такую штуку реализовывал на C# - всё работает отлично.

Вот появлась задача сделать то же самое, но через PHP. Работа с COM-портами там осуществляется так же как и с файлами с помощью fopen, fwrite, fread и т.д.
Начал переносить код с C# на PHP и столкнулся с тем, что при выполнении команды fread для COM-порта всё виснет.

Может кто сталкивался с такой проблемой?



Спустя 2 часа, 10 минут, 50 секунд (10.06.2010 - 10:39) Nikitian написал(а):
Если уже есть приложение, написанное на сях, то отправляйте через него. exec('sendsms'); где sendsms ваше приложение. Как передавать параметры думаю не нужно объяснять.

Спустя 12 минут, 4 секунды (10.06.2010 - 10:51) Kuzya написал(а):
Поддерживаю Nikitian. Работа с железом из PHP - ужасная задумка smile.gif Слишком он высокоуровневый для этого.

Спустя 1 час, 30 минут, 30 секунд (10.06.2010 - 12:22) multik написал(а):
Но ведь можно это сделать!
А от исспользования сторонней утилиты я отказался - существующая утилита не может отсылать текст с русскими буквами. Да и если мне потребуется какая-то расширееная функциональность от этой утилиты, то что делать?

PHP не такой простой как вы думаете. Я несколько лет писал на C# (ASP.Net) и думал что только он такой замечательный. А чем больше я изучаю PHP, тем больше понимаю - PHP умеет много, и не во многом уступает .Net.

Спустя 8 минут, 32 секунды (10.06.2010 - 12:30) waldicom написал(а):
А Вы устанавливаете параметры для обращения к ком порту?
скорость, паритет, стоп-бит и прочее-прочее? Приведите Ваш код здесь

Спустя 6 минут, 40 секунд (10.06.2010 - 12:37) multik написал(а):
Цитата (waldicom @ 10.06.2010 - 09:30)
А Вы устанавливаете параметры для обращения к ком порту?
скорость, паритет, стоп-бит и прочее-прочее? Приведите Ваш код здесь

Я исспользую для тих целей класс php_serial.class.

На этой страничке support-forum. Там люди тоже пишут об этой проблеме. И по ходу её ещё не решили.

Спустя 3 минуты, 17 секунд (10.06.2010 - 12:40) multik написал(а):
В инете везде пишут, что через fread с com-портом работать не получается. Есть другой путь - исспользование рассширения dio.

Из описания:

PHP supports the direct io functions as described in the
Posix Standard (Section 6) for performing I/O functions at
a lower level than the C-Language stream I/O functions
(fopen(), fread(),..).

Т.е. его исспользовать лучше, чем просто fopen, fread и т.д.

Спустя 17 минут, 59 секунд (10.06.2010 - 12:58) multik написал(а):
Вот только при его установке (через pecl) вылазит сообщение:

ERROR: The DSP dio.dsp does not exist.

Может кто знает как с этой ошибкой бороться? При чем не только это расширение не устанавливается, но и другие тоже.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.