Обхение PHP с .exe приложением

Finder

Новичок
Обхение PHP с .exe приложением

В чём суть:
Необходимо создать PHP скрипт, который будет общаться с exe приложением следующим образом:
скрипт отсылает некоторый пакет (как я понимаю просто набор переменных) некоторму приложению выложеному
в сети. Приложение "слушает" некоторый порт, на который и будут отправлятся ему данные.
После этого ехе приложение отправляет другие данные через неокторое время (секунд 10 минимум, а то и поболее).

Теперь собственно вопросы:
1. как отослать данные через php более-менее представляю(в крайнем случае нагло get-ом), но как это ещё можно сделать?
2. как собственно настроить Apache и запустить на нём ехе приложение, которое будет там работать постоянно
как я понимаю что-то вроде "AddType application/??????? .exe" должно быть написано в http.conf, но вот что именно пока не знаю (может просто ещё не нашёл). Как же его заставить его там работать постоянно -- не знаю:(

да, это я хочу чтобы работало условно говоря на Denver'e для начала, хоть для отладки

3. как заставить php "ждать" передачи данных от приложения на определённый порт, т.е. не завершаясь.

fsockopen наврное поможет, но я чесно говоря не до конца понял его применение

наверное и всё... ищу далее впринципе и сам, но что-то пока ещё просто куча непоняток

плз хелп!
 

SiMM

Новичок
1. [m]fsockopen[/m] || [m]CURL[/m]
2. Если твоё приложение слушает порт - так пускай и слушает - апач-то ему зачем?
3. А зачем?

> fsockopen наврное поможет, но я чесно говоря не до конца понял его применение
http://phpclub.ru/detail/article/http_request
 

Finder

Новичок
3. надо принципиально. Условно говоря это вэб-магазин, с оплатой следющим образом:

клиент находит нек. товар и нажимает "купить".
далее данные о выбранном товаре и ещё каки-то (не суть важно) отправляются в ехе приложение и мы ждём...
чего? того, что: клиент всунет скретч-карту в нек терминал(гипотетически нанаходящийся под рукой), произведёт с ним нек. действия (оплату) и после этого ехе-приложение возвращает разультат: оплата прошла, денег снято столько-то , операция закончилась неудачей(сервер рухнул, к примеру), а php скрипт ставит покупателя в известность о произошедших событиях, черпая инфу из пришедшей к нему на нек порт. Яснее?

-~{}~ 27.10.05 21:29:

2. апач, чтоб я дома мог приложение хоть немного потестить:) просто в сети (как я знаю), его ещё и в помине нет
 

Krisha

pain in the neck
Finder
бредовый алгоритм работы приложения, вот и всё...
 

Finder

Новичок
я не спорю про характеристику приложения (сам на самом деле согласен -- даже более, имхо слишком уж гоморно для обічного юзверя производить все єти трепыхания), не в том диалог, мне это как-то надо таки сделать...:)
 

SiMM

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

Finder

Новичок
2Simm я их и не изобретал...не я это:) ладно, пойду смотреть, как это умные люди делают...

а всё-таки, это возможно? и по сути, что самое (на Ваш взгляд) в данном механизме?
 

SiMM

Новичок
Возможно, но бессмысленно и громоздко при вашем варианте. Есть более рациональные варианты.

> по сути, что самое (на Ваш взгляд) в данном механизме?
Вопроса не понял. Крайне рекомендую перечитывать то, что вы пишете - облегчает понимание ;)
 

Finder

Новичок
2Simm:сори за...непонятную речь. устал уже просто как собака:0. Что самое неудобное ті находишь во всей єтой системе?
 

SiMM

Новичок
Да излишне всё это, ИМХО. Если всё делаешь с нуля - достаточно средств обычного HTTP без всяких прослушек. Хочешь чтобы сервер сообщал о приёме платежа - ну так пусть он делает по факту приёма платежа HTTP-запрос к тому серверу, что ждёт оплаты. Такая схема куда проще.
 

Finder

Новичок
...т.е. ты имеешь в виду, чтобы сам ехе модуль, после перевода денежек, сам выкидыва все данные на некоторую страницу на моём сайте, контент коотрой будет генериться исходя из данных присланных сервером. Правильно я тебя понял?
 

SiMM

Новичок
Что ты привязался к этому exe-модулю? Я пока не вижу необходмости - задачу ж ты не описал. Если это "сторонний" exe модуль - это одно. Если самописный - то я вообще не вижу в нём смысла - всё прекрасно реализуется средствами PHP. Так что описывай чтоли задачу подробнее ;) Может уже есть готовое решение для конкретной платёжной системы.
 

Finder

Новичок
есть такая у нас на Украине система оплаты - НСМЭП карты. Вот условный пример.
Суть в том, что мне задача поставлена таким образом, что я должен обращаться к этому *** модулю, кторый будет производить собственно все операции по переводу денег, а я от него должен только лишь получить результат его работы

ЗЫ: спасибо за желание оказать помощь:)

ЗЗЫ: щя попробую опяснить максмально подробно всю систему оплаты...как я её понимаю

-~{}~ 28.10.05 00:29:

действует это так(судя по спецификации)(ИМ - Инетернет Магазин, ИТ - Интернет Терминал):
1. Отправка спецификации заказа из ИМ в ИТ (какой-то набор данных: номер спецификации, сумма, валюта..)
2. Ответ от ИТ ИМ должен передать клиенту без изменения. После ответа ИТ рвет связь и ожидает оплаты заказа. Если заказ не принят, ИТ рвет связь без ответа.
3. После выполнения заказа ИТ шлет результат оплаты на тот адрес, с которого пришел заказ и на тот порт, что указан в спецификации заказа.(
4. ИМ должен ответить 1 или 0 (принял/не принял)
 

SiMM

Новичок
> После выполнения заказа ИТ шлет результат оплаты на тот адрес, с которого пришел заказ и на тот порт, что указан в спецификации заказа
Ну вот видишь - никаких слушающих порт софтин не нужно. Достаточно обойтись средствами Apache. Если ты хочешь сделать "заглушку" для тестирования на localhost'е, делаешь следующее:
1. Заводишь виртуальный хост для ИТ.
2. Пишешь скрипт на PHP, имитирующий поведение ИТ (скрипт принимает запрос по HTTP).
Усё.
 

Finder

Новичок
"Пишешь скрипт на PHP, имитирующий поведение ИТ (скрипт принимает запрос по HTTP)"
кто-нить может такой скрипт посказать?
может не пойму как настраивать, может ошибочный, посоветуйте
 
Сверху