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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.08.2009, 15:46   #11
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

можно запоминать сам Socket(из событий)
далее проверять его актуальность перед отключением(ServerSocket1.Socket.Co nnections тут все они)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 17.08.2009, 18:35   #12
SlashMan
Пользователь
 
Регистрация: 14.07.2009
Сообщений: 30
По умолчанию

всмысле запоминать сам Socket?

Последний раз редактировалось SlashMan; 17.08.2009 в 18:39.
SlashMan вне форума Ответить с цитированием
Старый 17.08.2009, 19:15   #13
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

переменную Socket из событий, можно запомнить
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 17.08.2009, 19:52   #14
s.Creator
Форумчанин
 
Регистрация: 28.09.2008
Сообщений: 344
По умолчанию

Цитата:
Сообщение от SlashMan Посмотреть сообщение
...
Я запускаю 2 копии клиента на 2х разных компах... но помимо этих 2х IP
в ListBox'е присутствует порядка 10 других, непонятных IP адресов...
(вероятно какая-то программа использует порт 30581)
Может покажите код (в смысле на предмет ошибки в методе определения IP)?
Вы не пробовали менять порт сервера? если да при смене ситуация повторяется? и какие "непонятные IP" еще появляются?
Цитата:
Сообщение от SlashMan Посмотреть сообщение
как мне сделать так, чтобы при подключении клиента , сервер проверял, является ли он "своим", и если нет, то отсоединял его от себя?
Спасибо
Если это только начало разработки клиент-серверного комплекса и в дальнейшем клиенты будут обмениваться с сервером информацией, то значит у вас будет будет разработана (надеюсь) структура передаваемых пакетов в которую можно добавить и какой то идентификатор (который скажет что это свой)
Но даже если только для того и нужен чтобы отображать подключенных клиентов (например посмотреть кто работает, а кто гуляет) можно сделать чтобы клиент передавал идентификатор и после его обработки сервер заносил его в список.
s.Creator вне форума Ответить с цитированием
Старый 17.08.2009, 23:58   #15
SlashMan
Пользователь
 
Регистрация: 14.07.2009
Сообщений: 30
По умолчанию

хорошо, завтра постараюсь разобраться и написать такой код.. если все заработает то выложу его сюда.. собственно также как и в ином случае)
SlashMan вне форума Ответить с цитированием
Старый 19.08.2009, 17:17   #16
SlashMan
Пользователь
 
Регистрация: 14.07.2009
Сообщений: 30
По умолчанию

Код:
procedure TForm1.Button3Click(Sender: TObject);
begin
for z:=0 to length(lol)-1 do
begin
  if ip[z] <> '' then
    ListBox2.Items.Add(ip[z]);
end;
end;

procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
begin
if Socket.ReceiveText = 'data' then
begin
for Z:=0 to length(ip)-1 do
begin
  if ip[z] = '' then
  begin
    ip[z]:=Socket.RemoteAddress;
    break;
  end;
end;
end;
end;

procedure TForm1.ServerSocket1ClientDisconnect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
for Z:=0 to length(ip)-1 do
begin
  if ip[z] = Socket.RemoteAddress then
  begin
    ip[z]:='';
    break;
  end;
end;
end;
написал программку которая запоминает IP адреса своих и строит список из них в TListBox. Кому интересно - забирайте) проблемма решена
всем спасибо)
SlashMan вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04
Определение запуска "Чужих" программ prizrak1390 Общие вопросы Delphi 4 09.03.2009 09:16
блок "cont" с права не принимает значение "margin: 10px;" которое описано в body tabikA HTML и CSS 5 24.02.2009 21:50
Под прикрытием "кризиса" наши доблестные "управители" хотят утопить нас в радиоактивных отходах mihali4 Свободное общение 1 17.01.2009 01:43
если пользователь наберет какой-то другой символ не "y" или "n" и нажмет enter, программа проигнорирует skobets Общие вопросы C/C++ 2 03.06.2008 06:51