receber arquivos.
ola pessoal..
tenho o seguinte problema..
eu preciso receber um arquivo que enviado para uma porta especifica do meu servidor.
soh que eu não sei como é enviado esse arquivo para mim, só sei que ele vem para uma porta do meu servidor.
alguém saberia como eu poderia pegar esse arquivo?
tenho o seguinte problema..
eu preciso receber um arquivo que enviado para uma porta especifica do meu servidor.
soh que eu não sei como é enviado esse arquivo para mim, só sei que ele vem para uma porta do meu servidor.
alguém saberia como eu poderia pegar esse arquivo?
Zumbi
Curtidas 0
Respostas
Massuda
03/10/2006
...soh que eu não sei como é enviado esse arquivo para mim...
Não tem como receber o arquivo sem saber ´como é enviado´; procure se informar sobre qual protocolo é utilizado.GOSTEI 0
Zumbi
03/10/2006
será envia via protocolo tcp a porta 2424..
via socket.. soh que o servidor não foi minha aplicação que desenvolveu..
eu teria que fazer um client para receber esse arquivo..
via socket.. soh que o servidor não foi minha aplicação que desenvolveu..
eu teria que fazer um client para receber esse arquivo..
GOSTEI 0
Massuda
03/10/2006
Precisa de mais detalhes para desenvolver o client. Peça informações sobre o protocolo de transferencia de dados/arquivos a quem desenvolveu o servidor.
De modo bem simplificado... TCP simplesmente define como pacotes de dados são trocados entre máquinas, mas não se precupa com o conteúdo dos pacotes; o protocolo define como tratar o conteúdo dos pacotes.
De modo bem simplificado... TCP simplesmente define como pacotes de dados são trocados entre máquinas, mas não se precupa com o conteúdo dos pacotes; o protocolo define como tratar o conteúdo dos pacotes.
GOSTEI 0
Zumbi
03/10/2006
pelo que eles me informaram, seria feito uma conexão via socket, ai eu teria que enviar um arquivo txt, e eles me retornam um arquivo txt. basicamente seria isso.
eu precisaria de uma rotina de envio e recebimento de arquivos via socket, eu estou tentando fazer com o idtpcclient.
eu precisaria de uma rotina de envio e recebimento de arquivos via socket, eu estou tentando fazer com o idtpcclient.
GOSTEI 0
Zumbi
03/10/2006
Alguém teria uma função de envio e recebimento de arquivos com o TIdTCPServer e TIdTCPClient?
GOSTEI 0
Massuda
03/10/2006
Verifique com quem fez o servidor se a transferencia funciona assim:
* abre a conexão
* manda o arquivo
* recebe o arquivo
* fecha a conexão
Se for assim, é possível fazer com Indy.
Porque ´possível´? Indy se baseia na idéia de que quando você recebe dados, você tem idéia do tamanho dos dados ou sabe que os dados possuem alguma indicação de fim (normalmente CR/LF, mas pode ser também o fim da conexão); poderia usar algum tipo de timeout para controlar o fim da recepção, mas como se trata de um WAN, os tempos envolvidos são imprevisíveis.
Assumindo que funcione do jeito que escrevi no início...Não sei se esse código vai funcionar, os detalhes que você passou não permitem fazer mais que isso. Dependendo do funcionamento real da sua transferencia de dados, pode ser que o Indy não seja a melhor ferramenta a ser utilizada.
* abre a conexão
* manda o arquivo
* recebe o arquivo
* fecha a conexão
Se for assim, é possível fazer com Indy.
Porque ´possível´? Indy se baseia na idéia de que quando você recebe dados, você tem idéia do tamanho dos dados ou sabe que os dados possuem alguma indicação de fim (normalmente CR/LF, mas pode ser também o fim da conexão); poderia usar algum tipo de timeout para controlar o fim da recepção, mas como se trata de um WAN, os tempos envolvidos são imprevisíveis.
Assumindo que funcione do jeito que escrevi no início...
var Stream: TFileStream; ... // falta tratamento de erros! Stream := TFileStream.Create(´c:\pasta\do\arquivo.de.dados´, fmOpenRead); IdTCPClient1.Host := ´ip.ou.nome.do.servidor´; IdTCPClient1.Port := porta.do.servidor; IdTCPClient1.Connect; IdTCPClient1.WriteStream(Stream); Stream.Free; Stream := TFileStream.Create(´c:\pasta\do\arquivo.de.resposta´, fmCreate); // vai ler até ser desconectado IdTCPClient1.ReadStream(Stream, -1, True); Stream.Free; ...
GOSTEI 0
Zumbi
03/10/2006
tem como colocar um tipo de timer para ficar verificando se o servidor está enviando um arquivo para o client? e como ficaria tem como postar um exemplo?
GOSTEI 0
Massuda
03/10/2006
tem como colocar um tipo de timer para ficar verificando se o servidor está enviando um arquivo para o client?
Porque isso seria necessário? Eu havia entendido que você ´teria que enviar um arquivo txt, e eles me retornam um arquivo txt´; logo, você só recebe um arquivo depois de enviar um arquivo.GOSTEI 0