Вверх ↑
Этот топик читают: Гость
Разработчик
Ответов: 26071
Рейтинг: 2122
#76: 2014-08-13 16:48:02 ЛС | профиль | цитата
Netspirit писал(а):
Но сейчас пока не стоит: компоненты ещё дорабатываются

После чего еще будет нужно время на тестирование переработок
карма: 22

0
Ответов: 1328
Рейтинг: 69
#77: 2014-08-13 16:58:14 ЛС | профиль | цитата
Netspirit писал(а):
Попробуй в примерах поставь AsyncEvents=None, скажи, помогло ли.


попробую.

зы отключил связь с мемо - пока работает
------------ Дoбавленo в 16.58:
nesco писал(а):
После чего еще будет нужно время на тестирование переработок


готов тестировать
карма: 2

0
Ответов: 4622
Рейтинг: 746
#78: 2014-08-13 17:00:21 ЛС | профиль | цитата
Ах, да. Некоторые наши компоненты могут быть просто не расчитанными на работу с параллельными потоками. Даже два экземпляра одного и того ж компонента могут иметь общие глобальные данные, при обращении к которым нужен дополнительный контроль. Также, как часто говорил nesco, обращение к визуальным компонентам из параллельных потоков тоже чревато, так как могут быть конфликты при обработке сообщений компонентом. Я с ошибкой при работе с Memo тоже сталкивался. Но она плавающая - нельзя точно отловить (компонент рисуется системой, кто его знает на какой комбинации он падает).
карма: 26

0
Ответов: 1328
Рейтинг: 69
#79: 2014-08-13 17:00:32 ЛС | профиль | цитата
Netspirit, еще бы добавить опцию отключение клиента по таймауту, если нет от него сообщений определенное время
карма: 2

0
Ответов: 4622
Рейтинг: 746
#80: 2014-08-13 17:03:25 ЛС | профиль | цитата
Это в схеме делается: нужно вести список сопоставления <ClientID>|<LastDate>. Таймером пробегаешься по списку, у кого <LastDate> менше текущей на нужную величину - отключаешь.

Кстати. Вот сервер выдаёт список клиентов. Возникает необходимость хранить с каждым клиентом некоторые данные, как в данном случае. Мне приходит на ум некоторая "невидимая таблица", с функциями как у обычной (можно применять компоненты работы с таблицей). Вобщем, можно использовать и матрицы, но что-то мне не нравится работа с ними. Можно сделать дополнительный компонент, синхронизирующий невидимую и визуальную таблицы с сопоставлением указанных столбцов.
карма: 26

1
Голосовали:Konst
Ответов: 1328
Рейтинг: 69
#81: 2014-08-14 02:59:18 ЛС | профиль | цитата
не 30 мин. 4 клиента все равно вылетел, пробую doSend
------------ Дoбавленo в 17.49:
с 10 клиентами не в асинхр режиме сервер вешается- "программа не отвечает", попробую откл. мемо
------------ Дoбавленo в 20.54:
заменил мемо на listbox - работает уже несколько часов
------------ Дoбавленo в 00.23:
увеличил кол-во клиентов до 50 - сервер принимает 100 сообщений в сек., пока работает все ок
------------ Дoбавленo в 02.59:
упал через 2 часа работы, клиенты при этом повисли(
карма: 2

0
Ответов: 48
Рейтинг: 0
#82: 2014-08-15 00:03:20 ЛС | профиль | цитата
Konst писал(а):
ruin, пример на старых компонентах из репозитория, может поможет ;)
Спасибо)) А интересно, при вставке схемы в Hiasm текст в компонентах отображается кракозяброй, наверное потому что у меня нет нужного шрифта?
------------ Дoбавленo в 00.03:
Есть локальная сеть, на каждом пк стоит TCP client и только на одном TCP server, клиентам заведомо не известен ip адрес сервера, возможно как то клиентам вычислить на какой машине стоит сервер, и подключиться к нему?
карма: 0

0
Ответов: 1328
Рейтинг: 69
#83: 2014-08-15 04:42:06 ЛС | профиль | цитата
ruin, если известен диапазон ip адресов, подключаться по списку на порт сервера, при подключении послать опред. запрос на который сервер даст опред. ответ, ip приславший ответ и будет сервер
карма: 2

0
Ответов: 1328
Рейтинг: 69
#84: 2014-08-17 00:47:25 ЛС | профиль | цитата
сервер на TCP_ServerEx стабильно работает уже 2 суток, подключено более 100 "Альтернативных" клиентов, посылающих раз в сек сообщение
карма: 2

0
Ответов: 48
Рейтинг: 0
#85: 2014-08-26 20:34:17 ЛС | профиль | цитата
Konst подскажи пожалуйста, скопировал твой пример, вставил в hiasm но прога не работает в StreamPack текст отображается крокозябры и связи отпали..как вставить в hiasm?
https://drive.google.com/file/d/0B4SVGCrzko3oZ2NLdk9QM0JIN3M/edit?usp=sharing
карма: 0

0
Ответов: 1328
Рейтинг: 69
#86: 2014-08-26 21:43:05 ЛС | профиль | цитата
ruin, http://hiasm.com/forum_serv.php?q=56&id=3793
карма: 2

0
Ответов: 48
Рейтинг: 0
#87: 2014-08-26 23:17:11 ЛС | профиль | цитата
Konst, немножко не то, в том примере было показана передача файлов, она то как раз то мне и нужна. Пытаюсь собрать программку сервер, суть такая: ставлю сервер на пк админа, клиентов раскидываю на 100 пк в локальной сети. Из серверной части отправляю команды на выполнения клиентам, а так же по необходимости передаю файлы обновлений. С передачей текста я разобрался, передаю из сервера клиентам текст запроса, а на клиентах просто произвожу сравнения строки. А вот как dll файлы передать 100 клиентам в определенную директорию на жестком диске, с этим сложность. Вот тот пример я думаю очень бы помог мне
карма: 0

0
Ответов: 242
Рейтинг: 13
#88: 2014-08-27 07:05:58 ЛС | профиль | цитата
ruin, а ты попробуй посмотреть немного в другом направлении . Пусть нужные файлы у тебя будут в общедоступном сетевом каталоге и клиент будет работать не напрямую , а через виндовую консольку .
и команды например я бы на твоем месте изначально делал бы минимум техсоставные. Например : команда*1параметр*2параметр.

При получении клиент разделяет на три составляющих , параметры загоняет в переменные .
карма: 0

0
Ответов: 1328
Рейтинг: 69
#89: 2014-08-27 09:54:20 ЛС | профиль | цитата
ruin, похоже не ту скинул, жми в среде по вкладке, где у тебя написано Project1 пкм и выбери "список проектов" далее "Internet" все примеры оттуда
карма: 2

0
Ответов: 48
Рейтинг: 0
#90: 2014-08-27 19:04:03 ЛС | профиль | цитата
Konst, спасибо)) нашел!
Bams, через виндовую консольку это как? что то типа синхронизации?
...жаль tcp указанный в этой теме пока не умеет передавать файлы, я на нем чат сделал, а вот с файлами запарка. Похоже нужно учить Delphi, что бы не быть белой вороной))
карма: 0

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