Ajuda - Busca - Membros - Calendário
Versão Completa: (Resolvido) Tratando ReceiveText() -Socket - Delphi
Fórum Script Brasil > Programação & Desenvolvimento > Delphi, Kylix
Jhonatas araujo
Galera a parada é o Seguinte!!!

Nos Eventos On______ Client ou Server Read:

Como Preparar/ Tratar para que eu possa Enviar:

ex: '1'

CODE
ClientSocket1.Socket.SendText('01');


E tambem
ex: '2'

CODE
ClientSocket1.Socket.SendText(Memo1.lines.Text);


Até Aqui Tudo Beleza...

Mais o Problema é na hora de Receber...

Quando Enviado a Menssagem (o Server ou o Client) ai Receber e Interpretar Corretamente?//?

Eu Sei que No Evento se Coloca:

CODE
var
Receive: String;
begin
Receive := Socket.ReceiveText;
begin

end;
end;
ebd.


Mais Eu queria Determinar oque Será Feito quando o Client ou o Server Receber uma Menssagem Ou seja Gostaria de Usar o Ex: '1' e o Ex: '2' no mesmo Evento Determinando oque Será feito quando Cada um dos mesmos Serem Ativados/enviados...

Eu sei Usar eles mais um em um em Cada Projeto... Mais os Dois Juntos não!!!

Eles Não Funcionam Bem, Juntos!!!

Como Tratar Isso ?/?

Se Não Intenderem Eu Posto o 'Source Code' do Meu Projeto Teste...

Vlww.

Abraço.
Micheus
Jhonatas, dá uma olhada neste imenso tópico Comunicação entre PCs em uma rede - mas não pule páginas. Em alguns pontos são tratados deste assunto que você precisa. Acho que lhe dará uma idéia.

Abraços
Jhonatas araujo
Ae Micheus ...

Pode Cre Mano... Ajudo Pakasss...

Mais Tipow a Duvida que Tenho é bem Simples Mais deu Um "Branco" e não Estou conseguindo Resolver dry.gif .

Olha o Client:

CODE
procedure TForm1.ClientSocket1Read(Sender: TObject;
  Socket: TCustomWinSocket);
var
Receive: String;
begin
Receive := Socket.ReceiveText;
begin

if Receive = '01' then begin
MessageDlg('Conectado!!!', MtInformation, [MbOk], 0);
end;

if Receive = '03' then begin
MessageDlg('Clicou!!!', MtWarning, [MbOk], 0);
end;

Form2.Memo1.Lines.Text := Form2.Memo1.Lines.Text + Receive + #13;
end;
end;


and

CODE
procedure TForm2.Button1Click(Sender: TObject);
begin
Form1.ClientSocket1.Socket.SendText(Form2.Memo2.Lines.Text);
Form2.Memo2.Clear;
end;


E o Server:

CODE
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
var
Receive: String;
begin
Receive := Socket.ReceiveText;
begin

if Receive = '01' then begin
MessageDlg('*************************', MtInformation, [MbOk], 0);
ServerSocket1.Socket.Connections[0].SendText('03');
end;

if Receive = '02' then begin
Form2.ShowModal;
end;

Form2.Memo1.Lines.Text := Form2.Memo1.Lines.Text + Receive + #13;
end;
end;


and

CODE
procedure TForm1.ServerSocket1ClientConnect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
ServerSocket1.Socket.Connections[0].SendText('01');
//Socket.SendText(); //
end;


and

CODE
procedure TForm2.Button1Click(Sender: TObject);
begin
Form1.ServerSocket1.Socket.Connections[0].SendText(Form2.Memo2.Lines.Text);
Form2.Memo2.Clear;
end;


O Problema é que eu queria que quando Eu Enviasse Um Texto do Client ou do Server só Recebesse no

CODE
(Form2.Memo1.Lines.Text);


oque Estiver no:

CODE
(Form2.Memo2.Lines.Text);


Por que ele Envia Toda Informação {Menssagem etc} que é trocado entre o Client e o Server para o {Memo1} ...

Mais é Obvil!! pelo Código Eu Sei que Determinei que tudo Receberá no:

CODE
Form2.Memo1.lines.Text


¬¬

Como Reparar Isso ?/?

Vlww...

Abraço /
Micheus
QUOTE(Jhonatas araujo @ 01/03/2008 - 20:04) *
O Problema é que eu queria que quando Eu Enviasse Um Texto do Client ou do Server só Recebesse no

CODE
(Form2.Memo1.Lines.Text);


oque Estiver no:

CODE
(Form2.Memo2.Lines.Text);


Por que ele Envia Toda Informação {Menssagem etc} que é trocado entre o Client e o Server para o {Memo1} ...

Mais é Obvil!! pelo Código Eu Sei que Determinei que tudo Receberá no:

CODE
Form2.Memo1.lines.Text


¬¬

Como Reparar Isso ?/?
Jhonatas, isso tá muito confuso... wacko.gif

Estes procedimentos:
No Client: O Button1 no Form2, usa o ClientSocket1 (Form1) para enviar o texto em Memo2 (Form2) que em seguida é limpo (Memo2.Clear).

No Server: Button1 no Form2, usa o ServerSocket1 (Form1) para enviar o texto em Memo2 (Form2) que em seguida é limpo (Memo2.Clear).

Não me parecem ter o menor sentido, se levar em conta que supostamente o que você pretende processar seria uma mensagem que viesse com os textos: '01', '02', '03',..., conforme está no seu código.

A questão é que o que você envia de um lado, deve ser o esperado do outro - pelo menos para ter uma finalidade de controle/interpretação de comandos.

Sugiro que comece com algo simples, como os exemplos que já postei aqui no forum, onde você tem apenas um form. Entenda o mecanismo primeiro e depois vá adicionando mais elementos.


Abraços
Jhonatas araujo
Ae Micheus Pode Enviar para Seu Email / o Source Code .../
para você dar uma analizada...

Vlw,

Lembrando que é um "Exemplo e apenas um Teste"!!!

Eu Estou Tirando Esssas Dúvidas para Inplementar em meu projeto Verdadeiro!!!

o Verdadeiro parece que vai ficar legal!!! hehe

Quando Ficar Pronto eu Te envio pra você ver!!!

Vlw...

Abraço.
Micheus
QUOTE(Jhonatas araujo @ 04/03/2008 - 17:38) *
Ae Micheus Pode Enviar para Seu Email / o Source Code .../
para você dar uma analizada...

se você postar em um destes sites de compartilhamento (tipo o Rapid Share), mais pessoas poderão vê-lo e tentar ajudá-lo. Pode ser?

Abraços
Jhonatas araujo
beleza Cara A Noite eu faço o Upload do Teste e Envio o Link!!!

é que agora tenho que ir pra Escola!!!

¬¬

Vlw...

abraço.
Jhonatas araujo
O Link do Teste:

http://rapidshare.com/files/97555620/Recei...Socket.rar.html

Vlw...

Se poderem Ajudar Agradeço //

Abraço...
Jhonatas araujo
Vlw //

Resolvido
Esta é uma versão simplificada de nosso conteúdo principal. Para ver a versão completa com maiores informações, formatação e imagens, por favor clique aqui.
Invision Power Board © 2001-2012 Invision Power Services, Inc.