Вверх ↑
Этот топик читают: Гость
Ответов: 37
Рейтинг: 5
#1: 2013-06-13 12:54:24 ЛС | профиль | цитата
Приветствую. Чем дальше тем страшнее) К сути проблемы, долго рассказывать что да как поэтому в кратце:
Нужно организовать обмен данными между программами запущенные в терминале. пример: пользователь подключается по rdp к терминальному серверу, там запускает программу. Второй пользователь тоже подключается к этому же серверу и тоже запускает эту же программу, между двумя копиями программы в разных rdp сессиях должен происходить обмен данными.
создал прогу, локально с 2 копиями программы работает на ура, а вот в разных терминалах на сервере не хочет, подозреваю об разделении ресурсов и всё такое, но как решить не знаю(
у кого какие мысли имеются? Зарание спасибо.
Вот пример и прога про которую говорил:
code_31236.txt
------------ Дoбавленo в 12.54:
Забыл указать что пытался реализовать данную тему элементами DDE сервер и DDE клиент.

Сейчас попробовал методом общей памяти с помощью элемента SharedStream результат тот же, при запуске 2-х программ на локальном компе обмен данными проходит, при запуске в терминале у разных пользователей, обмен данными не идёт(

вот схема:
Add(MainForm,11176470,364,476)
{
Left=20
Top=105
Width=226
Height=144
Caption="MemoryMapFile"
Point(onClose)
link(onCreate,15759642:doOpen,[(457,496)(457,587)])
}
Add(Edit,661285,329,602)
{
Left=30
Top=15
Width=130
link(onChange,4619195:doEvent1,[])
}
Add(Edit,9220893,749,658)
{
Left=30
Top=55
Width=130
}
Add(DataToFile,2627899,518,651)
{
Type=6
Point(doPosition)
Point(Position)
link(onGet,1337286:doValue,[])
link(Stream,15759642:Stream,[])
}
Add(Hub,4619195,378,602)
{
link(onEvent1,9022976:doEvent1,[(437,608)(437,671)])
link(onEvent2,2627899:doPut,[(443,615)(443,657)])
}
Add(Hub,2930429,434,686)
{
link(onEvent1,9022976:doEvent2,[(455,692)(455,678)])
link(onEvent2,2627899:doGet,[(502,699)(502,664)])
}
Add(SharedStream,15759642,518,581)
{
CoreName="My_MapFile"
PageMem=4
}
Add(Hub,9022976,462,665)
{
InCount=2
OutCount=1
link(onEvent1,2627899:doPosition,[])
}
Add(Timer,10097256,385,686)
{
Interval=100
link(onTimer,2930429:doEvent1,[])
}
Add(Memory,12493129,700,658)
{
link(onData,9220893:doText,[])
}
Add(If_else,3381555,602,651)
{
link(onFalse,5277635:doData,[])
link(Op1,2236331:Var3,[(608,642)])
link(Op2,12493129:Value,[(615,639)(671,639)(671,700)(706,700)])
}
Add(DoData,5277635,651,658)
{
link(onEventData,12493129:doValue,[])
link(Data,2236331:Var2,[(657,631)(598,631)])
}
Add(GetDataEx,2236331,592,637)
{
Angle=2
link(Data,1337286:Value,[(598,695)(566,695)])
}
Add(Memory,1337286,560,651)
{
link(onData,3381555:doCompare,[])
}

карма: 0

0
файлы: 1code_31236.txt [1.3KB] [129]
Ответов: 817
Рейтинг: 52
#2: 2013-06-13 13:38:09 ЛС | профиль | цитата
Fidel, А почему не хотите воспользоваться "TCP сервер" и "TCP клиент" ?
Будет работать на 100%
карма: 1

0
Ответов: 37
Рейтинг: 5
#3: 2013-06-13 14:19:54 ЛС | профиль | цитата
Думаю об этом, но не хочется усложнять, как бы вроде бы такая лёгкая задача а использовать ТСР ради мелочи. при том он у меня уже используется. ну если на чистоту, то возникла трудность в приёме данных по ТСР в терминале определённому адресату по ip адресу, так как запускались 2 и более клиентский версий программ к одному серверу и все они использовали тока 1 порт и 1 ip, данные от сервера получала тока первая запущенная клиенская часть в терминале, остальные не получали. Если есть возможность решить эту проблему то выше описанная отпадает)))
вот пример как вообще надо что бы было:
code_31237.txt

но так как он не фурычит вот и задумал выше описанное, а оно тоже не катит(
карма: 0

0
файлы: 1code_31237.txt [2.2KB] [132]
Ответов: 817
Рейтинг: 52
#4: 2013-06-14 12:54:58 ЛС | профиль | цитата
Fidel,
В вашей схеме конфликт портов возникает, надо для каждого клиента свой порт резервировать.

1. Какого вида данные вы хотите передавать? (если только текст то проблем минимум)
2. Какая ОС на терминальном сервере?
3. Вам обязательно надо решение на HiAsm?
В зависимости от ваших ответов, возможно я смогу предложить решение.
карма: 1

1
Голосовали:Fidel
Ответов: 37
Рейтинг: 5
#5: 2013-06-18 08:12:16 ЛС | профиль | цитата
СПС. всё же реализовал TCP сервер и TCP клиент, смотрящий сам на себя.

карма: 0

0
Ответов: 817
Рейтинг: 52
#6: 2013-06-19 21:05:29 ЛС | профиль | цитата
Fidel, Ну так поделились бы наработками, они будут многим полезны
карма: 1

0
6
Сообщение
...
Прикрепленные файлы
(файлы не залиты)