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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.01.2011, 20:48   #1
Pein95
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 881
По умолчанию Сервер клиент. Определить ип и отослать серверу

Код:
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
  var smessage: string;
  begin
  smessage:=socket.ReceiveText;
 if copy(smessage,1,3)='#IP' then
 begin
  delete(smessage,1,3);
 end;
 edit2.Text:=smessage;

end;
здесь сервер читает какой текст ему пришол

Код:
ip:=idhttp1.get('http://www.myip.ru/get_ip.php?loc=');

  P := Pos('<TABLE',ip);
  P := PosEx('<TABLE',ip,P+1);
  P := PosEx('<TABLE',ip,P+1);
  P := PosEx('<TD',ip,P+1);
  P := PosEx('<TD',ip,P+1);
  P := PosEx('>',ip,P+1);
  Delete(ip,1,P);
  ip := Copy(ip,1,Pos('<',ip)-1);
 result:=ip;
 clientsocket1.socket.sendtext('#IP'+result);
здесь опредиляетса ип и отсылаетса серверу
ошыбок никаких не возникает но ип почемуто не приходит.
кто может сказать в чем здесь проблема.
Pein95 вне форума Ответить с цитированием
Старый 15.01.2011, 11:37   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А зачем передавать IP? Насколько я понимаю сервер при получении сообщения знает IP отсылателя. Зачем его еще вписывать в сообщение?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.01.2011, 11:46   #3
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

То, что IP можно взять прямо из свойств сокета, думаю понятно.

А ошибка может быть в том, что клиент просто не связывается с сервером. SendText() что возвращает?
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."

Последний раз редактировалось veniside; 15.01.2011 в 12:01.
veniside вне форума Ответить с цитированием
Старый 15.01.2011, 11:52   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Индусы отдыхают.
Да, тут не поспоришь...
Цитата:
На сколько я не знаю Инди, там вроде как при выходе из ServerSocket1ClientRead()
А Инди с этим обработчиком не связано.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.01.2011, 12:02   #5
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

Точно, я поспешил. Подправил свой пост. Скорей всего клиент вобще ничего серверу не отсылает.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 15.01.2011, 16:59   #6
Pein95
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 881
По умолчанию

проллема в том что если делать отдельное приложение клиент сервер то здесь всё работает, а у меня в одной проге есть и клиент и сервер и в другой тоже но они работают под разными портами поетому я не могу понять где здесь ошибка
Pein95 вне форума Ответить с цитированием
Старый 15.01.2011, 17:14   #7
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

Просто ответь на 2 вопроса:

1) Зачем передавать IP, если сервер и так его знает из свойства socket.remotehost?
2) Что возвращает SendText()
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 15.01.2011, 18:10   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Подправил свой пост.
Ну я править свой уже не буду )
Цитата:
а у меня в одной проге есть и клиент и сервер и в другой тоже но они работают под разными портами поетому я не могу понять где здесь ошибка
Ну тут пожалуй нужно конкретно смотреть прогу. Или пошаговку устраивать, смотреть куда чего отсылается.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.01.2011, 19:20   #9
Pein95
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 881
По умолчанию

всем спс) кто загленул в ету тему проблема решена банальная ошыбка не в том событии отсылал)
но нужно ещо немного подкоректировать прогу допустим когда сервер не создан и клиент хочет подключитса чтоб не вылетала ошыбка о том что не возможно подключитса, как ето можно реализировать?
Pein95 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как отправить видео захват(с веб-Кам.) Клиент->Сервер->Клиент RODNOC Мультимедиа в Delphi 17 03.10.2010 22:31
Вопрос по клиент-серверу xStill Работа с сетью в Delphi 0 01.03.2010 14:46
Клиент к серверу Borland на ASP.NET A0Z Общие вопросы .NET 0 13.05.2009 10:09
Возможно-ли Клиент-серверное приложение типа Клиент(Pascal) а сервер(CGI)? Demol Работа с сетью в Delphi 1 21.04.2009 16:18