HttpWebRequest и серые IP адреса.
И переодически мне нужно получать от них выписки из их БД.
Поскольку число организаций постоянно меняется, а сами организации очень не любят и не спешат отправлять нам эти выписки то я хотел бы автоматизировать процесс.
Сервер для получения выписки из БД и ответа на запрос я написал используя(HttpListener). Решил что лучше использовать http, поскольку админы организаций вечно ставят файерволы.
Теперь пишу запрос клиент для запросов.
Выглядеть будет запрос примерно так:
Код:
ttpWebRequest request = HttpWebRequest.CreateDefault(new Uri(@"http://23.342.32.43/dinamo_quverty/")) as HttpWebRequest;
И на данный момент имею 2 проблемки:
1) Как организовать систему "Маячка". Смысл системы в том, чтобы онлайн сервера автоматически сообщали свои координаты для отправки им запросов. Хотелось бы выслушать ваши предложения о том как ее организовать.
2) КРИТИЧЕСКАЯ проблема. Это конечно же серые ip. Когда БД установлена на внутреннем компе организации. Вот тут Хелп. Как им отправить запрос если к примеру их внешний ip 32.11.22.33 а внутренний 192.168.0.11 ?
пример:
клиент1 коннектится к вашему серверу, сообщает, что он клиент1. ваш сервер отвечает: да, нужен отчет (вы до этого возвели флаг) и клиент шлет отчет и дисконннект. периодичность коннекта по надобности.
Цитата: bagie2
я бы сделал, чтобы клиенты сами коннектились периодически в вашему серверу и отсылали что надо (и если надо).
пример:
клиент1 коннектится к вашему серверу, сообщает, что он клиент1. ваш сервер отвечает: да, нужен отчет (вы до этого возвели флаг) и клиент шлет отчет и дисконннект. периодичность коннекта по надобности.
пример:
клиент1 коннектится к вашему серверу, сообщает, что он клиент1. ваш сервер отвечает: да, нужен отчет (вы до этого возвели флаг) и клиент шлет отчет и дисконннект. периодичность коннекта по надобности.
Хороший вариант. Наверное им и воспользуюсь.
Но тем не менее вопрос про серые IP адреса оставлю открытым....
Может кто знает....
а ведь проблемы с этим и не должно быть. соединение устанавливает служба на компьютере клиента через HTTP, поэтому вообще по-барабану какой там внутренний и внешний IP-адрес. главное чтобы этой службе доступ в инет был.