:: Visual Foxpro, Foxpro for DOS
"Слушатель"(сервер) для приема POST-запросов и ответа на них
Bobr
Автор

Сообщений: 1790
Откуда: Глухов
Дата регистрации: 21.11.2006
Доброго времени суток, формучане!
Есть задача, организовать обмен данными с ПриветБанком для мгновенного приема платежей от абонентов. Обмен данными с Приветовым сервером происходит только путем получения от него POST-запросов с XML'ями и ответа на них нашего софта. Все это происходит следующим образом: абонент через терминал Привета/Привет24/любой_другой_их_сервис инициирует процедуру оплаты, путем поиска себя по идентификатору(номер лицевого счета, ФИО, адрес, etc), Приветовый сервер шлет POST-запросом XMLину, мой софт постоянно "слушает" на определенном адресе:порту, принимает XMLину, разбирает, находит абонента в БД или не находит, отправляет ответ. Все вроде просто.

Собственно, вопрос заключается в том, как реализовать правильно("православно") этот самый "слушатель"(ну, такой себе конкретно заточенный мини-мини-сервер) для приема этих POST-запросов. Пробовал через примеры с Winsock.ocx(в частности, с помощью слегка модернизированного класса Михаила Дроздова MsWinSock) - ничего не получилось - клиент и сервер из класса соединяются, даже будучи на разных машинах в сети, а вот PHP скрипт - ни в какую. Причем, на порт, отличный от 80 он вообще не коннектится, а на 80-м вываливает "Object not found" и фоксовый серевер не видит соединений. Оказалось, как-то не так я готовлю PHP, ибо с расширением HttpRequester для FireFox все получилось. Но главное неудобство заключается в том, что POST-запрос ко мне прилетает в plain-raw виде, и вычленять из него, собственно тело(XMLину) не очень удобно, а тем более, если завтра ПриветБанк "слегка" изменит заголовки своего запроса. Потому хотелось бы спросить, можно ли реализовать такого "слушателя", но чтобы он по принципу WinHTTP или XMLHttpRequest, умел разделять заголовки и тело запроса. Ну и отдельной опцией хотелось бы умение этой штукой поднимать несколько параллельных соединений(ну, если, допустим, несколько запросов одновременно поступило).
Вот как-то так, жду ваших идей, а может у кого-то уже даже ж опыт такого плана есть. Надеюсь мысли изложил не сильно путанно...

А я, тем временем, усердно курю в этом направлении...



Исправлено 1 раз(а). Последнее : Bobr, 19.01.17 12:46
Ratings: 0 negative/0 positive
Re: "Слушатель"(сервер) для приема POST-запросов и ответа на них
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Не следует писать веб-сервер (или веб-сервис, как частный случай веб-приложения) на фоксе. Вызывать фоксовый код (например оформленный в виде COM-сервера) из веб-сервиса написанного, к примеру, на .net языке и либо само-хостящегося (установленного в виде "сервиса", или просто запущенного через автозапуск винды), либо хостящегося на IIS-e можно. Это если без фокса ну совсем никак (например базы на dbf-ах и мега-супер-бизнес-логика которую никак не переписать).


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: "Слушатель"(сервер) для приема POST-запросов и ответа на них
Bobr
Автор

Сообщений: 1790
Откуда: Глухов
Дата регистрации: 21.11.2006
Igor Korolyov
Не следует писать веб-сервер (или веб-сервис, как частный случай веб-приложения) на фоксе.
в который раз слышу это от вас. разве совсем-совсем нельзя на фоксе - оно ж мааааленькое, от него-то там действий требуется - раз, два - и все?

Igor Korolyov
Вызывать фоксовый код (например оформленный в виде COM-сервера)
кстати, а можно об это попдробнее. ну или ткните, где почитать. чтобы, в частности, на фоксе.
Ratings: 0 negative/0 positive
Re: "Слушатель"(сервер) для приема POST-запросов и ответа на них
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Можно ли на роликовых коньках объехать всю землю? Можно. Но не нужно.

Фокс не предназначен для таких задач. Он однопоточный, в нём нет своих достаточно надёжных средств реализации сокетов.


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: "Слушатель"(сервер) для приема POST-запросов и ответа на них
Bobr
Автор

Сообщений: 1790
Откуда: Глухов
Дата регистрации: 21.11.2006
Igor Korolyov
Он однопоточный
Node.js тоже однопоточный...

по COM в разрезе фокса толковых ссылок не дадите? а то в хелпе как-то все размазано-затянуто... но пока усердно курю его(хоть что-то). идея в том, чтобы сделать такую себе прослойку, которой "слушатель" будет тупо отдавать и получать от нее XMLи. пока смутно понимаю, как так сделать(веб-слушатель можно сделать хоть на том же Node.js, хоть на питоне, хоть на ПХП - лишь бы там была возможность создать фокспрошный COM-объект)...
Ratings: 0 negative/0 positive
Re: "Слушатель"(сервер) для приема POST-запросов и ответа на них
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Однопоточный веб-сервер это нехорошо. Даже если он весь из себя event-driven как node.js. При том что если впихнуть в этот шаблон фокс, который ни разу не "не блокирующий ввод/вывод", то получим гарантированный капут.

Фоксовый ком-сервер в варианте mtdll в принципе позволяет решить проблему однопоточности. Естественно сами потоки создаёт в этом случае не фокс, просто он способен тогда более-менее адекватно существовать в многопоточном приложении.


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: "Слушатель"(сервер) для приема POST-запросов и ответа на них
Влад Колосов

Сообщений: 22664
Откуда: Ростов-на-Дону
Дата регистрации: 05.05.2005
IIS нынче на любом компе есть, даже на самом завалящем.


------------------
Совершенство - это не тогда, когда нельзя
ничего прибавить, а тогда, когда нечего убавить.
Ratings: 0 negative/0 positive
Re: "Слушатель"(сервер) для приема POST-запросов и ответа на них
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Влад Колосов
IIS нынче на любом компе есть, даже на самом завалящем.
На виндовом компе, надо уточнить Впрочем, поскольку тут речь о фоксе, то других и не предвидится...
Хотя есть свои нюансы - "большой" IIS весьма тяжеловесен, требует адекватной настройки и обслуживания, и если нужно ТОЛЬКО пару сервисов запустить, то использовать IIS это тоже будет перебор. Лучше уж самохостящийся асп-нет сервис (HttpSelfHostConfiguration).


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: "Слушатель"(сервер) для приема POST-запросов и ответа на них
Vladimir Sklyar

Сообщений: 1397
Дата регистрации: 13.06.2002
приветбанк решил изменить режим приема платежей (пдобная хрень у нас только с инетпровайдерами для мгновенного пополнения счета на услуги), со слов сумчан все коммунальщики работают по др. схеме (шлешь им бд с абонентами и они ее подтягивают в свою систему)


------------------
С уважением Владимир.
Ratings: 0 negative/0 positive
Re: "Слушатель"(сервер) для приема POST-запросов и ответа на них
Bobr
Автор

Сообщений: 1790
Откуда: Глухов
Дата регистрации: 21.11.2006
Vladimir Sklyar
слов сумчан
эмммм - вы из Сум?

Vladimir Sklyar
шлешь им бд с абонентами и они ее подтягивают в свою систему
это у них называется OFF-line режим приема платежей. так мы сейчас работаем. но мне надоел этот полуручной режим. да и нынешние реалии требуют чтобы всё это происходило максимально быстро. и да, коммунальщикам, обычно, спешить особо некуда...
Ratings: 0 negative/0 positive
Re: "Слушатель"(сервер) для приема POST-запросов и ответа на них
Vladimir Sklyar

Сообщений: 1397
Дата регистрации: 13.06.2002
Bobr
Vladimir Sklyar
слов сумчан
эмммм - вы из Сум?
рядом, из Конотопа

Vladimir Sklyar
шлешь им бд с абонентами и они ее подтягивают в свою систему
это у них называется OFF-line режим приема платежей. так мы сейчас работаем. но мне надоел этот полуручной режим. да и нынешние реалии требуют чтобы всё это происходило максимально быстро. и да, коммунальщикам, обычно, спешить особо некуда...
пока деньги на счет не упали, никто ничего не разносит

------------------
С уважением Владимир.
Ratings: 0 negative/0 positive
Re: "Слушатель"(сервер) для приема POST-запросов и ответа на них
Bobr
Автор

Сообщений: 1790
Откуда: Глухов
Дата регистрации: 21.11.2006
Vladimir Sklyar
рядом, из Конотопа
земляки, значится

Vladimir Sklyar
пока деньги на счет не упали, никто ничего не разносит
ну, это все потом доказуемо, если что
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 29 (Гостей: 29)

© 2000-2024 Fox Club 
Яндекс.Метрика