| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Для новичков > Временная таблица для сокетовых подключений |
| Автор: gregson 16.12.2009, 19:38 |
| Добрый день, коллеги. Можно ли создать на визуальной форме таблицу для отображения подключенных к сокетовому серверу клиентов? Какой нужно использовать компонент? А самое главное можно ли будет редактировать эту таблицу из разных потоков. Сервер создан на компоненте INDY версия 9. Пишу в Delphi 7. Собсна сервер уже готов и работает, просто хотелось бы нормальной визуализации, например: Приконнектился новый клиент -> в таблице появилась новая запись с ip адресом Уже из потока....клиент представился системе -> находим в таблице этого клиента по ip адресу например и заполняем в найденной строке колонку ID Клиент отсоединился или поймали exception -> находим в таблице этого клиента и удаляем запись. Раз уж запостил тему, вот еще вопрос в догонку, если есть у кого ссылки на темы правильного логирования работы сервера, закиньте пожалуйста. На сервер подключается много клиентов, много потоков, пока все валю в одно цельное мемо, получается бардак, но разобраться можно, хотелось бы писать логи по ИД пользователя и вообще что лучше использовать, думаю мемо дилетантское решение. Заранее благодарю за любую помощь! |
| Автор: Snowy 17.12.2009, 12:39 |
| TListView в режиме Report вполне подойдёт. В потоке создавай итем и запоминай. Можно редактировать прямо в потоке - работа всё равно событийная - сообщения будут в очередь выстраиваться. Каждое подключение работает со своим итемом (строкой). При коннекте создаёт, при работе меняет, при отключении убивает. |
| Автор: gregson 27.12.2009, 19:38 |
| Snowy, спасибо за ответ, компоненту посмотрел, красивая, но как с ней работать так и не догнал даже после того, как отгуглил...Не могу понять как задать тип столбцов и как к ним потом обращаться!? А еще не будет ли exceptionsов если пара разных потоков будут одновременно пытаться менять данные в этой таблице?! |
| Автор: Akella 28.12.2009, 17:02 | ||
|
| Автор: Snowy 28.12.2009, 17:31 |
| Что касается, как работать - полистай форум - тут примеров есть немало. Что касается разных потоков, то я уже написал - работа идёт на уровне сообщений. То есть разные потоки отправляют окну сообщения, которые выстраиваются в очередь сообщений. Напрямую потоки ничего не делают - просто отправляют сообщения в очередь. А главный поток уже их обрабатывает сам в порядке поступления. |