Receber String via ServerSocket ??
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
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
Curtidas 0
Respostas
Cabelo
05/11/2004
sobe..
GOSTEI 0
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):
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:
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
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
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
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..
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