Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.03.2010, 18:51   #1
Rapala
Пользователь
 
Регистрация: 28.03.2010
Сообщений: 46
По умолчанию Работа с отдельным клиентом

Подскажите, как осуществить работу сервера (например отсылку сообщения) с определенным клиентом (чтобы при подключении он добавился в список, его можно было выделить и по кнопке отправить ему сообщение)
Rapala вне форума Ответить с цитированием
Старый 28.03.2010, 21:11   #2
MyIE
Форумчанин
 
Аватар для MyIE
 
Регистрация: 02.01.2010
Сообщений: 127
По умолчанию

Тут не провидцы мы не знаем, с каким компонентом ты работаешь.
0_o
MyIE вне форума Ответить с цитированием
Старый 29.03.2010, 13:52   #3
Rapala
Пользователь
 
Регистрация: 28.03.2010
Сообщений: 46
По умолчанию

tserversocket и tclientsocket
Rapala вне форума Ответить с цитированием
Старый 29.03.2010, 14:33   #4
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

...а пущай клиент посылает "служебную" информацию при подключении, отфильтровав которую сервер добавлял IP абонЭнта в листбокс например, ну а по событию onClick компонента выделенный элемент itemindex давал-бы вам информацию кому посылать сообщение... вот такой приблизительный алгоритм.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 29.03.2010, 14:37   #5
Rapala
Пользователь
 
Регистрация: 28.03.2010
Сообщений: 46
По умолчанию

Я программирую неделю примерно, поэтому не очень уловил суть. Ip адрес мне посылает клиент, это понятно, работает. Дальше Ip добавляется в листбокс, тоже понятно. Что дальше? Как сделать информацию служебной?
Rapala вне форума Ответить с цитированием
Старый 29.03.2010, 14:47   #6
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

да обычным текстом посылаете, не зря ведь слово "служебной" в кавычках... к примеру
Код:
socket.sendtext('ip#текст'); // посылаем-

...
// принимаем
procedure TTSMS.TServerSocket1ClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
var s, ip: string;
     i: integer;
begin
 s:= Socket.ReceiveText;
 i:= pos('#', s);
 temp:= copy(s, 1, length(s)- i-1);
 if temp<>'' then // + нужно добавить проверку на уже добавленные и отключившиеся -неактивные
  listbox1.items.add(temp);

 memo1.lines.items('IP [' + temp + ']: ' + copy(s, i+1, length(s)))
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 29.03.2010, 14:54   #7
Rapala
Пользователь
 
Регистрация: 28.03.2010
Сообщений: 46
По умолчанию

А допустим если у меня клиент посылает IP, а потом %username% их же надо обозначить, чтобы он определял, что шлет клиент.
Rapala вне форума Ответить с цитированием
Старый 29.03.2010, 16:09   #8
Rapala
Пользователь
 
Регистрация: 28.03.2010
Сообщений: 46
По умолчанию

А что такое temp?
Rapala вне форума Ответить с цитированием
Старый 29.03.2010, 16:13   #9
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

...думаю вам для начала с протоколом обмена определиться нужно, возьмите бомажку, распишите-нарисуйте логику работы, взаимодействие клиента и сервера, а уже потом за кодинг.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 29.03.2010, 16:26   #10
Rapala
Пользователь
 
Регистрация: 28.03.2010
Сообщений: 46
По умолчанию

У меня это есть.
Запускается сервер.
Запускается клиент.
Клиент определяет IP адрес, сохраняет в переменную.
По таймеру клиент подключается к серверу.
Клиент отправляет свой IP адрес.
Сервер принимает, заносит IP адрес в Listbox1.
Дальше, мне нужно присвоить этому клиенту имя, добавить его в Combobox1.
На нажатие Button1 сервер проверяет, если выбрана в Combobox1 строка 'user#1', то он отправляет клиенту с именем 'user#1' текст 'turnoff'.
Клиент принимает его, если принятый текст='turnoff', то выполняется выключение компьютера (например).
Или вместо имени в Combobox1 отображать IP и работать соответственно с IP.
Это все, что мне надо.
Rapala вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как разбить данные из одной ячейки по 4-м отдельным ячейкам? lench Microsoft Office Excel 12 12.01.2012 08:20
Программа со встроенным ICQ клиентом Сашик Помощь студентам 4 20.03.2010 18:48
Трабл с торрент-клиентом Ногин Антон Операционные системы общие вопросы 2 01.01.2010 22:29
Парсер сайта с клиентом для мобилы 40Sook PHP 8 04.09.2009 11:46
закачка файла отдельным потоком. ZeitGeist7 Общие вопросы Delphi 12 26.02.2009 20:23