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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.09.2009, 18:23   #11
dyonysos
Пользователь
 
Регистрация: 24.08.2009
Сообщений: 45
По умолчанию

project.zip
dyonysos вне форума Ответить с цитированием
Старый 07.09.2009, 18:40   #12
dyonysos
Пользователь
 
Регистрация: 24.08.2009
Сообщений: 45
По умолчанию

project.zip
dyonysos вне форума Ответить с цитированием
Старый 07.09.2009, 20:00   #13
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Увы не могу открыть ваш проект. моя дэлфя 2007 ругается

Последний раз редактировалось SERG1980; 07.09.2009 в 20:04.
SERG1980 вне форума Ответить с цитированием
Старый 07.09.2009, 21:10   #14
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

попробуйте юзать потоки(TStream...точнее потомки например TMemoryStream или TStringStream(TStringsStream не помню как верно...не юзаю)) для отправки/приема
то есть считывать/отправлять как поток, а потом уже оттуда строки считать.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 07.09.2009, 22:02   #15
dyonysos
Пользователь
 
Регистрация: 24.08.2009
Сообщений: 45
По умолчанию

с TStringStream тоже проблема есть:
Код:
// передача стрима
procedure TForm1.RunComm;
var
  sst:tstringstream;
begin
...
  sst:=TStringStream.Create('');
  memo1.lines.SaveToStream(sst);
  serversocket1.Active:=true;
  serversocket1.Socket.SendStream(sst);
end;
а как получить этот самый стрим в клиентской программе?
пробовал Memo1.Text:=clientsocket1.Socket.Re ceiveText; при событий "on read" но не работает.

Последний раз редактировалось dyonysos; 07.09.2009 в 22:07.
dyonysos вне форума Ответить с цитированием
Старый 07.09.2009, 22:33   #16
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Код:
procedure TForm1.ServerSocket1Read(Sender: TObject;
  Socket: TCustomWinSocket);
var s:ANSIString;
begin
 SetLength(s,Socket.ReceiveLength);
 Socket.ReceiveBuf(s[1],Length(s));
 Memo1.Lines.Add(s);
end;
а если так?
и отправляем тогда:

Код:
procedure TForm1.ClientSocket1Connect(Sender: TObject;
  Socket: TCustomWinSocket);
var M:TMemoryStream;
     s:ANSIString;
begin
 M:=TMemoryStream.Create;
 s:=Memo1.Lines.Text;
 M.WriteBuffer(s[1],Length(s));
 M.Seek(0,0);
 Socket.SendStream(M);
 M.Free;
end;
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 08.09.2009, 00:46   #17
dyonysos
Пользователь
 
Регистрация: 24.08.2009
Сообщений: 45
По умолчанию

Работает!Спасибо огромное!
только вот клиент после отправления выдает ошибку когда освобождается стрим( M.Free; ):



с чего бы это?
dyonysos вне форума Ответить с цитированием
Старый 08.09.2009, 05:00   #18
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Код:
procedure TForm1.ClientSocket1Connect(Sender: TObject;
  Socket: TCustomWinSocket)
var s:ANSIString;
begin
 s:=Memo1.Lines.Text;
 Socket.SendBuf(s[1],Length(s));
end;
а если так?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 08.09.2009, 23:20   #19
dyonysos
Пользователь
 
Регистрация: 24.08.2009
Сообщений: 45
По умолчанию

ура!
большое вам спасибо за помощь!
dyonysos вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с отправкой текста через tclientsocket (delphi) dyonysos Помощь студентам 1 30.08.2009 20:37
Проблема с отправкой почты Genesis PHP 2 18.05.2009 15:35
Проблемы с отправкой СМС сообщений через Билайн tuschkan Компоненты Delphi 0 09.02.2009 10:50
Проблема с отправкой MemoryStream от сервера к клиенту Ragnarek Работа с сетью в Delphi 4 07.02.2009 10:29
Передача файла через TServerSocket и TClientSocket Vanya Работа с сетью в Delphi 10 08.04.2008 18:12