SQL.RU
 client/server technologies
 
 Главная | Документация | Статьи | Книги | Форум | Опросы | Рассылка | Работа | Поиск | FAQ |

Добро пожаловать в форум, Guest  >>  Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик  Ответить
 Опять TTCPServer - TTCPClient   [new]
rrrrrrrrrr
Member

Откуда: РТ
Сообщений: 6347
Не выходит передача данных (SendLn) от сервера с TTCPServer клиенту (ReceiveLn) на TTCPClient. Кто поопытнее, нет ли тут какой-то хитрости? Ибо коннект происходит, все замечательно, сервер от клиента строки получает... А наоборот - никак. Иди оно и не должно работать? Аналогичные чужие коды в инете просмотрел, в том числе и обсуждавшиеся - все так же, но и у них не работает.
Спасибо заранее.
18 фев 05, 15:55    [1331698] Ответить | Цитировать    Сообщить модератору

 Re: Опять TTCPServer - TTCPClient   [new]
=SOFT=
Guest
используй Indy (http://www.nevrona.com/indy)

подробней покопайся здесь С:\твой путь\Delphi6\Demos\Indy\
глянь тут С:\твой путь\Delphi6\Demos\Indy\BasicClientServer\
21 фев 05, 13:27    [1335142] Ответить | Цитировать    Сообщить модератору

 Re: Опять TTCPServer - TTCPClient   [new]
rrrrrrrrrr
Member

Откуда: РТ
Сообщений: 6347
Спасибо за совет. Мучает одна мысль: насколько я понял, прием данных клиентом от сервера по ReceiveLn ни у кого не проходит. Или я не прав? Может, об этом уже и Inprise знает, и есть "заплатка"? Просто раз есть компонента и у нее есть метод, то должен же этот метод работать...
21 фев 05, 14:52    [1335579] Ответить | Цитировать    Сообщить модератору

 Re: Опять TTCPServer - TTCPClient   [new]
=SOFT=
Member

Откуда:
Сообщений: 18
:)

Сервер
procedure TForm1.TcpServer1Accept(Sender: TObject; ClientSocket: TCustomIpClient);
begin
 Edit1.Text:=ClientSocket.ReceiveLn;     // получили строку от клиента
 ClientSocket.SendLn('Привет Клиенту!'); // посылаем ему ответ
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 TcpServer1.LocalHost:='127.0.0.1';
 TcpServer1.LocalPort:='8888';
 TcpServer1.Active:=true;
end;

Клиент
procedure TForm1.Button1Click(Sender: TObject);
begin
 TcpClient1.RemoteHost:='127.0.0.1';
 TcpClient1.RemotePort:='8888';
 if TcpClient1.Connect  then 
  begin
   TcpClient1.SendLn('Привет Серверу!'); // послали привет серверу
    Edit1.Text:=TcpClient1.ReceiveLn();   // ждем ответ
   TcpClient1.Disconnect; 
 end
 else MessageBox(Handle, 'Сервер не найден!', 'Error', 16);
end;

*********************************************
вот те еще примерчик ;)
*********************************************
Клиент:
procedure TForm1.Button1Click(Sender: TObject);
  var mes: string;
begin
  mes := 'r';
  tcpclient1.active := true;;
  tcpclient1.Sendln(mes);
end;

Сервер:
procedure TForm1.TcpServer1Accept(Sender: TObject;
ClientSocket: TCustomIpClient);
begin
showmessage('кто-то в дверь стучит');
if tcpserver1.receiveln = 'r' then showmessage('HI');
end;

так же глянь тут <Delphi DIR>\Demos\Internet\NetChat

Удачи!!!
21 фев 05, 15:12    [1335698] Ответить | Цитировать    Сообщить модератору

Все форумы / Delphi Ответить
Generated time: 46ms.
Rambler's Top100 Powered by ActualForum 1.5.3 [s1] Copyright (c) Alex Sibilev 2000-2010