Receber String via ServerSocket ??

Delphi

05/11/2004

Colegas..

Como faço para receber uma string no ServerSocket, sendo envada por um ClientSocket..

Por exemplo :

Tenho um programa em um local físico A que tem um ClientSocket e uma programa local físico B que tem um Server Socket.

Quero clicar num botão em Físico A e ler a string em físico B..

Obs : Uso Delphi 7

Agradeço antecipadamente a todos


Cabelo

Cabelo

Curtidas 0

Respostas

Cabelo

Cabelo

05/11/2004

sobe..


GOSTEI 0
E_gama

E_gama

05/11/2004

Na verdade, [b:58028927db]Fisico A[/b:58028927db] não lê uma string de [b:58028927db]Fisco B[/b:58028927db].

Das duas, uma:
- ou [b:58028927db]Fisico A[/b:58028927db] envia um comando para [b:58028927db]Fisico B[/b:58028927db], e este devolve a resposta para o primeiro;
- ou [b:58028927db]Fisico A[/b:58028927db] fica esperando uma conexão de [b:58028927db]Fisico B[/b:58028927db], e assim que receber uma conexção, fica lendo a porta até receber as strings.

Eis um exemplo do segundo caso (evento OnAccept do ServerSocket):
procedure TfrmPrincipal.TcpServer1Accept(Sender: TObject; 
var S1, S2 : string;
begin
  S1  := ClientSocket.Receiveln;
  S2 := ´´;
  while S1 <> ´´ do
  begin
    S2 := S2 + S1;
    S := ClientSocket.Receiveln;
  end;
end;


ao final do código, [b:58028927db]S2[/b:58028927db] conterá a string recebida.
Se for uma string pequena, e não várias linhas, como o exemplo acima, basta utilizar o código no mesmo evento:
  S1  := ClientSocket.Receiveln;



GOSTEI 0
Cabelo

Cabelo

05/11/2004

Colega..

Tentei fazer como o seu exemplo..

mas dá erro.. dizendo que o comando receiveln é desconhecido..

e com o comando receivetext continua retornando ´´ (branco), o q fazer??

Só lembrando que estou programando em Delphi 7


GOSTEI 0
Cabelo

Cabelo

05/11/2004

Colegas..

Não estou conseguindo fazer isso funcionar.. por favor me ajudem.. pq não consigo ler a string enviada pelo SocketClient quando estou no ServerSocket..

Agradeço antecipadamente qualquer ajuda..


GOSTEI 0
POSTAR