Re[3]: Народ, кто шарит в клиент-сервер приложениях, ХЕЛП!!!
От: Slavyan_K  
Дата: 23.06.04 05:54
Оценка:
Здравствуйте, AlexEagle, Вы писали:

AE>Если этот вариант рабочий то могу подкинуть еще пару злобных мыслей. Я вот например программирую работу с касовым аппаратом через ком-порт. В моем случае каждая команда кассе сопросождается двумя байтами контрольной суммы (чтобы такие как автор, не могли без знания протокола подменять цифры).


AE>Имеем собственно ограничение номер 1


AE>Ограничение номер 2 — это таймауты (как мне кажется самое серьезное). У меня стоит на команду две секунды. Так вот, автор должен за это время успеть отдать данные клиенту, клиент их подтсвердить и потом автор перслать в устройнство и вернуть ответ от него.


AE>проблем туча.


AE>Как вариант предлагаю автору забыть что у него работа идет с ком портом. Далее предлагаю вариант для винды.


AE>Вешаешь хук (не знаю как, не пробовал) на это программку. Отслеживаешь появление окна с изменением того чего не надо. Сразу его прячешь а в замен отдаешь свое. Соответственно ввод идет к тебе, а ты потом отдашь его скрытому окну и нажмешь кнопку "ОК" в этом окне. А вот собственно в момент передачи (момент Х) — делай что угодно, тут не таймаутов, ничего. Чистое мошенничество. вариант хака, так сказать.


AE>по-моему красивый вариант перехвата, реализовать можно достаточно быстро.


AE>Ну а по клиент-серверу тут не сложно. Делаешь сервер на сокетах, а в момент Х отсылай на этот сокет информацию и жди от него ответа. Ну а сервер при приходе запроса (отосланного тобой в момент Х) даст нужному человеку окошко и данными чтобы он подкорректировал и отдасть эти данные тебе тем же сокетом (почти RPC получается ). Ну а ты уже этим данные в спрятанное окошко и нажимай там нужную кнопку


AE>Так сказать, элементарно, Ватсон. Правда неделя работы от заката до рассвета, но решаемо!


Народ, чтоб вы не думали что я замыслил что-то криминальное объясняю зачем это нужно: на этих весах взвешиваются большегрузы, ограничения у весов 45 тонн максимальный вес, очень часто этого не достаточно, для этого на самом терминале предусмотрен режим ручного ввода, но им начали злоупотреблять сами весовщики, поэтому шеф приказал кнопочки на терминале закрыть стеклом и запечатать, а если потребуется что-то вводить вручную он это будет делать сам!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.