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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.02.2007, 15:40   #1
BioS
Пользователь
 
Регистрация: 06.02.2007
Сообщений: 42
По умолчанию обмен данными с сервером

говорб сразу, что я только недавно начал изучать делфи, так что если что то не судите строго.

значит я поставил перед собой задачу написать программу, которая подключается к серверу и обменивается с ним данными (цели у программы нету, просто из интереса). все оесновное я написал, но я не получаю ответа от сервера. подключаюсь я к ftp серверу. раньше я делал попытки написать что то похожее на php (благо я его прилично знаю) но по определенным причинам я это дело бросил, хотя ответ от сервера я получал!

вот код некоторых процедур из моей программы

procedure TForm1.Button2Click(Sender: TObject);
var
outdata : string;
begin
outdata := edit3.Text;
TcpClient1.Sendln(outdata);
memo1.Lines.Add('< ' + outdata);
edit3.Text := '';
edit3.SetFocus;
end; - это процедура нажатия кнопки отправить


procedure TForm1.TcpClient1Receive(Sender: TObject; Buf: PAnsiChar;
var DataLen: Integer);
var
indata : string;
begin
TcpClient1.Receiveln(indata);
memo1.Lines.Add('>' + indata);
end; - это как я считаю должно быть приемом данных

(так как в книге по которой я учусь ничего нету про сокеты, это я составил на основе данных статей из интернета)

соеденение точно установлено, т.к. касперский показывает в мониторинги сети установленное соеденение. мне кажется что то не то во 2 процедуре. жду помощи!!
BioS вне форума Ответить с цитированием
Старый 06.02.2007, 16:53   #2
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию

Никогда не работал с этими компонентами
Вообще для связи я обычно использую IdTCPClient1, ClientSocket1.

Но, для фтп есть специальные компоненты.
"Делфи глазами хакера" 4.5Мб - там есть написание фтп-сервера (аналогично пишется клиент).
Так же вот набор компонентов, который там используется (есть FTP-Client и FTP-Sеrver думаю тебе как раз это и нужно)
Вложения
Тип файла: rar VC32.rar (455.9 Кб, 46 просмотров)
zetrix вне форума Ответить с цитированием
Старый 06.02.2007, 17:22   #3
BioS
Пользователь
 
Регистрация: 06.02.2007
Сообщений: 42
По умолчанию

ну фтп сервер - это только пример. возможно и лубой другой. суть в том чтоб данные получались. а где про эти компоненты прочитать?
BioS вне форума Ответить с цитированием
Старый 06.02.2007, 18:05   #4
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию

В этой же книге (Делфи глазами хакера)
zetrix вне форума Ответить с цитированием
Старый 06.02.2007, 23:02   #5
BioS
Пользователь
 
Регистрация: 06.02.2007
Сообщений: 42
По умолчанию

а чем они отличаются
BioS вне форума Ответить с цитированием
Старый 07.02.2007, 08:23   #6
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию

не понял... Что от чего отличается? Все эти компоненты для работы с сетью? Хм.. А чем отличается... Button от BitBtn? Почти одинаковы, но есть доп. методы, свойства и т.д.
zetrix вне форума Ответить с цитированием
Старый 07.02.2007, 14:13   #7
BioS
Пользователь
 
Регистрация: 06.02.2007
Сообщений: 42
По умолчанию

а как в delphi определить свой ip адрес


и еще

в процедуре есть переменная cmd тип string

case cmd of
'msg' :
begin
.....
end;


пишет что типы integer и string несовместимы, а где тут integer?

Последний раз редактировалось BioS; 07.02.2007 в 18:07.
BioS вне форума Ответить с цитированием
Старый 08.02.2007, 08:18   #8
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию

Цитата:
а как в delphi определить свой ip адрес
Во тут-то и загвоздка, т.к. если подключение едёт через локалку/шлюз или прокси, то во внешке будут видеть не Ваш ИП. А сетевой IP как правило бессмысленный в таких случаях.
Как узнать тот самый - внешний ИП я не знаю
Кто знает напишите.
zetrix вне форума Ответить с цитированием
Старый 08.02.2007, 15:06   #9
BioS
Пользователь
 
Регистрация: 06.02.2007
Сообщений: 42
По умолчанию

Цитата:
Сообщение от zetrix Посмотреть сообщение
Во тут-то и загвоздка, т.к. если подключение едёт через локалку/шлюз или прокси, то во внешке будут видеть не Ваш ИП. А сетевой IP как правило бессмысленный в таких случаях.
Как узнать тот самый - внешний ИП я не знаю
Кто знает напишите.
а мне какраз и сетевой нужен!

кстати может знаете, мне нужно чтоб программа на некоторое время останавливалась и по истечении которого снова продолжалась
BioS вне форума Ответить с цитированием
Старый 08.02.2007, 15:36   #10
Prowler
Форумчанин
 
Регистрация: 30.11.2006
Сообщений: 128
По умолчанию

Цитата:
Сообщение от BioS Посмотреть сообщение
а мне какраз и сетевой нужен!

кстати может знаете, мне нужно чтоб программа на некоторое время останавливалась и по истечении которого снова продолжалась
sleep(X), где X целое число в мс.
nosce te ipsumj...
Prowler вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обмен данными между формами Maks1978 Общие вопросы C/C++ 3 22.07.2008 15:35
Обмен данными между формами Demien Общие вопросы Delphi 14 23.04.2008 22:04
Обмен данными по сети Altera Работа с сетью в Delphi 2 23.02.2008 00:13
обмен сообщениями между клиентом и сервером используя ClientSocket и ServerSocket xTANATOSx Работа с сетью в Delphi 3 04.10.2007 15:17
Соеденение с сервером swordholder Общие вопросы Delphi 1 23.12.2006 07:54