информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Атака на InternetЗа кого нас держат?
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Очередное исследование 19 миллиардов... 
 Оптимизация ввода-вывода как инструмент... 
 Зловреды выбирают Lisp и Delphi 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
если вы видите этот текст, отключите в настройках форума использование JavaScript
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
[php] [win32] работа с последовательным портом 09.08.04 11:52  
Автор: J'JF <Dmytro Volhushyn> Статус: Elderman
Отредактировано 10.08.04 00:01  Количество правок: 2
<"чистая" ссылка>
У кого-нибудь есть опыт?
потому что постоянно напарываюсь на какие-то приколы...
Простые функции типа fopen работают только на запись. Читать с COM-порта ничего не получается :-(
Да и запись, признаться, работает странно. Например, отправляю символ ">", а реально он посылает в порт, к примеру, не "3e", а "7b" (за точность не ручаюсь, но что-то в этом духе) :-(
Поставил php5 - в нем уже худо-бедно работают функции dio.
Проработало немного, потом опять сдохло... Писать - пишет , а вот читать - ни в какую. Причем без переконфигурации и т.п... просто на выходных в один прекрасный момент скрипт перестал получать данные. И все. Сегодня мне пока не удалось его разморозить :-(
При этом тупая программка, написанная на delphi (да что там - любой терминал) на этой же тачке и пишет, и читает нормально.

Хоть кто-нибудь что-нибудь скажите! Может, не валять дурака и не использовать php для такой задачи? (хотя задача-то - тривиальнейшая).
А как дело обстоит с perl? Нормально ли он работает с последовательным портом под виндой?

P.S. Только что выяснил, как можно восстановить работоспособность dio в php5: применить заново локальные политики безопасности!!!!! (тачка не в домене). Ничерта не пойму... а как это связано-то???
Осталось тогда выяснить, что же слетает такого, что отваливается программное чтение из последовательного порта при помощи php.

P.P.S. Проверил ActivePerl 5.8.4 - пишет в порт именно то, что нужно. А вот читать - не читает... Скрипт наподобие этого:
---
open(PORT,"+<","COM2");
print PORT ">H\r\n";
$str='';
while (ord($buff)!=10)
{
$buff=getc(PORT);
if (defined($buff))
{ $str=$str+$buff;}
}
сlose PORT;
---
при любом раскладе возвращает пустую $str (точнее, возвращает, если ограничить количество итераций, а так, ессно, висит... При этом скрипт на php со сохожим алгоритмом, только с использованием dio на чтение работает).
Есть у кого-нибудь комментариии какие-то?
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2025 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach