Fórum cliente Delphi x servidor Java #196011

19/11/2003

0

Olá amigos!
Preciso que uma aplicação em Delphi(cliente) se conecte ao uma aplicação em Java(servidor) através de socket e que troquem mensagens entre si, basicamante, strings de carecteres. Já consegui fazer o cliente se conectar ao servidor, mas não sei como enviar e receber os caracteres(ou strings). Não sei qual formato usar para que uma parte entenda a outra. Alguém já fez algo parecido? Sei que é possível, mas como sou totalmente iniciante em Delphi, qualquer ajuda será muito bem vinda.
Obrigado,


Jordy

Jordy

Responder

Posts

19/11/2003

Dio

Sei que não é o que vc quer, mas talvez usar WebServices seria legal? O Delphi tem o componente SoapConnection que é bem tranquilo de usar, ainda não conectei em nenhuma aplicação servidora escrita em Java, mas como é um padrão e utiliza xml no transporte de informações de um lado para outro creio que funcione bem.


Responder

Gostei + 0

20/11/2003

E_gama

Já que utiliza simplesmente socket, e é somente troca de string´s, vc tem que conhecer o protocolo utilizando pelo servidor, qual formato de dados, ou seja, vc tem falar a linguagem dele, da mesma forma que um browser de internet faz para se conectar ao servidor: [b:6116577bdf]ele conhece o protocolo e sabe como tem que enviar e também o formato dos pacotes que deve receber como resposta[/b:6116577bdf]


Responder

Gostei + 0

20/11/2003

Jordy

As lógicas do servidor e do cliente já estão prontas, e só me resta saber como enviar as informações, que poderia ser caracter a caracter, por exemplo.


Responder

Gostei + 0

21/11/2003

Luizf2

Jordy:

Se você está usando sockets, você está utilizando, provavelmente, o protocolo TCP.

Você pode usar o componente ´TClientSocket´, e, para enviar uma ´string´, use o método ´ClientSocket1.Socket.SendText(s)´, onde ´s´ é uma ´string´. Para receber uma ´string´ use o evento ´OnRead´ e o método ´ReceiveText´ da variável, ´Socket´ passada como parâmetro, ficaria: ´s := Socket.ReceiveText´, onde ´s´ é uma string.

Para você garantir que nunca perderá uma conexão, você pode utilizar o evento ´OnWrite´ colocando a instrução ´Socket.SendText(s)´, onde ´´s´ é uma ´string´. A variável ´Socket´ é passada como parâmetro da ´procedure ClientSocket1Write´. Toda vez que você precisar enviar algo para o servidor basta conectar o ´socket´ com o comando ´ClientSocket1.Open´.

A maneira de utilizar o componente ´TClientSocket´ vai depender muito da rede que você está utilizando.

O fato do servidor estar escrito em ´Java´ não quer dizer nada, você pode se comunicar com qualquer servidor, desde que saiba o que mandar e o que receber. Como o protocolo utilizado pelo componente em referência é o TCP, logo, seria improdutivo enviar caracter por caracter, o melho é utilizar uma ´string´.

Qualquer dúvida, estou às ordens.

Espero ter ajudado,

Luiz Fernando


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar