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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.12.2009, 09:23   #1
SNUPY
Форумчанин
 
Регистрация: 15.02.2008
Сообщений: 621
По умолчанию INDY: IdTCPServer и IdTCPClient. Передача TStream

Доброго времени суток господа! Сразу предоставлю код:
код принятия потока

Код:
procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread);
var
  s: String;
  m:TMemoryStream;
begin
  m:=TMemoryStream.Create;
  AThread.Connection.ReadStream(m,3,false);
  setlength(s,3);
  m.Position:=0;
  m.Read(s[1],3);
  Form1.Caption:=s;
end;
код отправки потока

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  m:TMemoryStream;
begin
  IdTCPClient1.Port:=4003;
  IdTCPClient1.Host:='localhost';
  IdTCPClient1.Connect;
  m:=TMemoryStream.Create;
  m.Write('sss',3);
  IdTCPClient1.OpenWriteBuffer;
  IdTCPClient1.WriteStream(m,true,false,m.Size);
  IdTCPClient1.CloseWriteBuffer;
end;
Итак собственно вопрос? почему IdTCPServer1Execute два раза вызывается??? и во второй раз ждет отключения клиента??
Помог? Ну так нажми на весы!
SNUPY вне форума Ответить с цитированием
Старый 27.12.2009, 12:39   #2
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

потому что у вас отправляется 2 комманды. Точнее IdTCPClient1.OpenWriteBuffer; будет распознаваться как обращение.Вовсе не обязательно, кстати использовать методы серии WriteBuffer; просто отправляйте потоки
ждет отключения потому что вы его не делаете.
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 27.12.2009, 13:31   #3
SNUPY
Форумчанин
 
Регистрация: 15.02.2008
Сообщений: 621
По умолчанию

понятненько
Помог? Ну так нажми на весы!
SNUPY вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обмен сообщениями(миничат) через IdTcpClient и idTcpServer =LeonZone= Работа с сетью в Delphi 3 07.08.2010 13:01
IdTcpClient и idTcpServer xTANATOSx Работа с сетью в Delphi 9 17.05.2008 23:11
передача файла от idtcpclient к idtcpserver SeЯgey Работа с сетью в Delphi 1 13.05.2008 11:21
Обмен сообщениями между IdTcpClient и idTcpServer Teen4jump Работа с сетью в Delphi 3 05.09.2007 09:25