Как передать сообщение зная IP?

Модератор: Модераторы

Как передать сообщение зная IP?

Сообщение VinSS » 27.01.2012 02:36:10

Никогда с сеткой не работал, даже не знаю с чего начать.
Есть БД, к которой напрямую есть доступ только у некоторых сотрудников. Программа делает определенную выборку. В выборке список заданий и сотрудников, которым они назначены. Получается можно сказать серверная часть. Надо сделать клиентскую (например, просто значек в трее), в которую будет передаваться сообщение с заданием, а оно будет всплывать у значка в трее.
Собственно понимаю как сделать все, кроме передачи сообщения, подскажите хоть в каком направлении копать, что почитать, на какие операторы обратить внимание, да хоть как в гугле правильный запрос составить, чтобы найти то, что мне нужно.
VinSS
новенький
 
Сообщения: 26
Зарегистрирован: 29.12.2011 04:23:46

Re: Как передать сообщение зная IP?

Сообщение Максим » 27.01.2012 02:49:54

Нет, ну что за люди, а?

http://bit.ly/wl3Itn

viewtopic.php?f=5&t=7721
Аватара пользователя
Максим
энтузиаст
 
Сообщения: 593
Зарегистрирован: 27.07.2007 01:51:43
Откуда: Москва

Re: Как передать сообщение зная IP?

Сообщение SSerge » 27.01.2012 07:31:35

VinSS
Не надо на клиенте входящие запросы организовывать!
Поимеете массу проблем, если клиент окажется за файерволом или за какой-нибудь транзитной сетью, да и всякие касперские антивирусы такое будут всегда пытаться пресечь. И вообще - плохая идея. Сделайте, чтобы клиент с определенными промежутками времени просто опрашивал сервер и выводил нужное. А уж что сделать на сервере - зависит от фантазии. Самое примитивное - shared каталог с файлами заданий, немного посложнее - apache, которому подсунуть то что надо, ну или если охота заморачиваться с free pascal networking или программированием через сокеты - вэлкам. Но, imho, лучше делать как можно проще, чем замороченнее.
SSerge
энтузиаст
 
Сообщения: 873
Зарегистрирован: 12.01.2012 05:34:14
Откуда: Барнаул

Re: Как передать сообщение зная IP?

Сообщение VinSS » 27.01.2012 16:02:28

Про каталог с файлами заданий думал, но регламенты на обработку маленькие, придется достаточно часто опрашивать, а файловый сервер наверняка не особенно мощный, а к нему будет компов 50 обращаться. Хотя как простейший и быстрейший вариант начну видимо с него.
А кто-нибудь подключал внешние девайсы для вывода информации (надо секундомер и/или 4/8 одно/двухзначных чисел)? Это уже чисто для себя, поэтому сложность не особенно важна, пока только теория.
VinSS
новенький
 
Сообщения: 26
Зарегистрирован: 29.12.2011 04:23:46

Re: Как передать сообщение зная IP?

Сообщение Padre_Mortius » 27.01.2012 17:49:24

а чем база данных не устроила? Тот же firebird или mysql. И пусть клиенты читают данные из таблицы
Padre_Mortius
энтузиаст
 
Сообщения: 1267
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Re: Как передать сообщение зная IP?

Сообщение VinSS » 28.01.2012 06:25:20

Про БД тоже думал, но так как работаю в банке и я не админ :) каждый пук придется согласовывать (начиная от необходимости держать постоянно включенным комп вне серверной, до установки сервера БД), хотелось бы без посторонних обойтись, а то это может затянуться на долго.
VinSS
новенький
 
Сообщения: 26
Зарегистрирован: 29.12.2011 04:23:46

Re: Как передать сообщение зная IP?

Сообщение alexey38 » 28.01.2012 10:26:14

VinSS писал(а):Про БД тоже думал, но так как работаю в банке и я не админ :) каждый пук придется согласовывать (начиная от необходимости держать постоянно включенным комп вне серверной, до установки сервера БД), хотелось бы без посторонних обойтись, а то это может затянуться на долго.


Вы вначале сказали, что есть БД. Теперь говорите, что нет БД. Более четко сформулируйте задачу, откуда берутся данные (где они хранятся) и как определяется, что появились новые (или измененные) данные. Насчет сетевых технологий, то на низком уровне - это сокеты. Просто нужно выбрать TCP или UDP пакеты слать. Если TCP, то кто инициирует соединение, клиент или сервер.
Если брать высокоуровненые технологии, то можно взять банальный DCOM, но если честно, то довольно глючная технология, если возникают ошибки в сети.
alexey38
долгожитель
 
Сообщения: 1627
Зарегистрирован: 27.04.2011 19:42:31

Re: Как передать сообщение зная IP?

Сообщение Padre_Mortius » 28.01.2012 11:38:40

VinSS, а что приложение не нужно будет согласовывать? Точно такие же согласования и написание технической документации. А включенный постоянно комп вне серверной это очень плохо. Лучше все согласовать, ибо админы люди веселые, могут политиками накать что-нить и будет у вас куча проблем.
Padre_Mortius
энтузиаст
 
Сообщения: 1267
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Re: Как передать сообщение зная IP?

Сообщение VinSS » 28.01.2012 19:49:46

alexey38, БД есть, в ней хранится много чего, в том числе задания и взявшие/назначенные на выполнение люди, но права есть только на чтение. Просто программа, которая была до меня она жутко неудобная, например, нельзя было настроить фильтр на несколько типов заданий, либо на один, либо все, а также она сама не обновляла список, в результате приходилось просто миллиард ненужны телодвижений делать. Задания приходят/назначаются сотрудникам, при этом пока сотрудник сам не проверит пришло ли ему задание, он не узнает, есть оно у него или нет (у обычного спеца нет прав даже на чтение, т.е. я хочу чтобы запускалась программа человеком, у которого есть права, делалась выборка и рассылались сообщения о пришедших заданиях). Поэтому, если использовать БД для рассылки заданий, то надо делать свою, еще одну.
Padre_Mortius, само приложение уже согласовано, я просто расширяю функционал. А про комп, не то чтобы очень плохо, отдел работает круглосуточно, так что все всегда под присмотром, но правила есть правила.
VinSS
новенький
 
Сообщения: 26
Зарегистрирован: 29.12.2011 04:23:46

Re: Как передать сообщение зная IP?

Сообщение Padre_Mortius » 29.01.2012 01:37:14

VinSS, а в чем проблема с созданием дополнительной таблицы в этой базе?
Padre_Mortius
энтузиаст
 
Сообщения: 1267
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Re: Как передать сообщение зная IP?

Сообщение v-t-l » 29.01.2012 09:56:24

А СУБД какая?
Например в Postgresql и Firebird/Interbase (в других - не знаю) есть такие команды, как LISTEN и NOTIFY, которые как раз и предназначены для оповещения клиентов о событиях в БД.
v-t-l
энтузиаст
 
Сообщения: 705
Зарегистрирован: 13.05.2007 16:27:22
Откуда: Belarus

Re: Как передать сообщение зная IP?

Сообщение alexey38 » 29.01.2012 11:06:39

Пути решения задачи два:
1. Использовать стандартные технологии типа почты или Jabber. Соответственно тогда ваша прога будет просто формировать e-mail или будет отсылать типовые сообщения через Jabber. Преимущества в том, что клиента не нужно писать, а он может быть на любой платформе, в т.ч. на мобильной.

2. Написать вручную через Socket сервер и клиент. В принципе ничего сложного, есть стандартные компоненты TSocket, а можно через API ОС (У Вас винда?) - тоже не сложно.
Преимущества в том, что можно сделать какой угодно функционал, но все это будет нестандартным.
alexey38
долгожитель
 
Сообщения: 1627
Зарегистрирован: 27.04.2011 19:42:31

Re: Как передать сообщение зная IP?

Сообщение VinSS » 29.01.2012 23:57:10

Padre_Mortius писал(а):VinSS, а в чем проблема с созданием дополнительной таблицы в этой базе?

Проблем несколько:
1) Просто не разрешат :) в базу напрямую доступ по сути не предусмотрен, есть комплекс программ, им и надо пользоваться, но он уже и морально и физически устарел, так что права на чтение уже исключение;
2) База и тех поддержка от нас (тех кто работает с этим комплексом) разделены 1000 км, скорости тут конечно приличные, но мне кажется не целесообразно гонять инфу туда-сюда.

Добавлено спустя 1 минуту 7 секунд:
v-t-l писал(а):А СУБД какая?
Например в Postgresql и Firebird/Interbase (в других - не знаю) есть такие команды, как LISTEN и NOTIFY, которые как раз и предназначены для оповещения клиентов о событиях в БД.

БД SQL Server.
VinSS
новенький
 
Сообщения: 26
Зарегистрирован: 29.12.2011 04:23:46

Re: Как передать сообщение зная IP?

Сообщение Padre_Mortius » 30.01.2012 00:21:56

Просто не разрешат :) в базу напрямую доступ по сути не предусмотрен, есть комплекс программ, им и надо пользоваться, но он уже и морально и физически устарел, так что права на чтение уже исключение;

Ерундой не занимайтесь. Если официально согласована доработка или замена ПО, то обычно все действия разрешаются, а вы пытаетесь придумать себе проблему и героически ее решить.
Padre_Mortius
энтузиаст
 
Сообщения: 1267
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Re: Как передать сообщение зная IP?

Сообщение VinSS » 30.01.2012 00:29:59

alexey38 писал(а):Пути решения задачи два:
2. Написать вручную через Socket сервер и клиент. В принципе ничего сложного, есть стандартные компоненты TSocket.

Первый вариант слишком медленный, почту опять же надо вручную проверять. В лазарусе нет такого компонента :(

Добавлено спустя 6 минут 14 секунд:
Максим писал(а):Нет, ну что за люди, а?
http://bit.ly/wl3Itn
http://www.freepascal.ru/forum/viewtopic.php?f=5&t=7721


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

Добавлено спустя 13 минут 18 секунд:
Padre_Mortius писал(а):Ерундой не занимайтесь. Если официально согласована доработка или замена ПО, то обычно все действия разрешаются, а вы пытаетесь придумать себе проблему и героически ее решить.

У меня есть моя основная работа и от нее я тупею, а за написание этой проги мне не платят, но зато я развиваюсь. Поэтому наверно так и есть.
Почитал про сокеты (теорию), то что я как раз хотел. Есть где почитать про реализацию?
VinSS
новенький
 
Сообщения: 26
Зарегистрирован: 29.12.2011 04:23:46

След.

Вернуться в Общие вопросы

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Рейтинг@Mail.ru