Enviar arquivos pela rede via componente INDY, como?????
Olá colegas eu já procurei aqui no forum e não achei, inclusive já busquei na net e até agora nada.
Eu estou trabalhando em cima de um chat e gostaria de saber como faço para enviar aquivos de um computador para o outro pelos componente FTP da INDY.
Grato pela atenção.
Luciano França.
Eu estou trabalhando em cima de um chat e gostaria de saber como faço para enviar aquivos de um computador para o outro pelos componente FTP da INDY.
Grato pela atenção.
Luciano França.
Luciano_f
Curtidas 0
Respostas
Luciano_f
28/12/2004
Mais que complicado de se fazer isso, eu já procurei um monte mais não acho nenhum exemplo na net.
Vou continuar tentando....
Vou continuar tentando....
GOSTEI 0
Massuda
28/12/2004
Demos do Indy podem ser baixados no [url=http://www.indyproject.org/Demos/]site do projeto Indy[/url] ou no [url=http://www.atozed.com/indy/Demos/]site da Atozed[/url].
A não ser que você tenha que transferir uma grande quantidade de arquivos, eu evitaria de usar FTP para isso (nem todo mundo gosta de ter um servidor de FTP em operação).
Dependendo de como você fez seu programa de chat, seria possível você incluir um comando no protocolo que você adotou que permitisse transferir uma stream de dados e gravar em um arquivo.
A não ser que você tenha que transferir uma grande quantidade de arquivos, eu evitaria de usar FTP para isso (nem todo mundo gosta de ter um servidor de FTP em operação).
Dependendo de como você fez seu programa de chat, seria possível você incluir um comando no protocolo que você adotou que permitisse transferir uma stream de dados e gravar em um arquivo.
GOSTEI 0
Luciano_f
28/12/2004
Jovem eu já baixei os demos da INDY, e eu posso muito bem usar o IDFtp para mandar esses arquivos mais a questão é como fazer isso de um chat para o outro,
Ex:
patch para fazer o download
´10.16.10.54\C:\programas\arquivos.zip´
eu enviaria esse caminho pelo chat e o outro usuario pegaria esse arquivo, será que numa rede externa algo desse jeito tb funcionaria.
´200.168.109.16\C:\programas\arquivos.zip´
Dessa forma acima o outro usuario faria um download de minha maquina.
Esse esquema de ´stream de dados e gravar em um arquivo.´
voce tem algum exemplo?.
Grato.
Luciano França.
Ex:
patch para fazer o download
´10.16.10.54\C:\programas\arquivos.zip´
eu enviaria esse caminho pelo chat e o outro usuario pegaria esse arquivo, será que numa rede externa algo desse jeito tb funcionaria.
´200.168.109.16\C:\programas\arquivos.zip´
Dessa forma acima o outro usuario faria um download de minha maquina.
Esse esquema de ´stream de dados e gravar em um arquivo.´
voce tem algum exemplo?.
Grato.
Luciano França.
GOSTEI 0
Massuda
28/12/2004
[...] eu enviaria esse caminho pelo chat e o outro usuario pegaria esse arquivo, será que numa rede externa algo desse jeito tb funcionaria. [...] Dessa forma acima o outro usuario faria um download de minha maquina.
A princípio, o esquema que você propos funciona, mas tem dois detalhes que precisa ter cuidado:[list:b4c9930ea0][*:b4c9930ea0]Firewalls estão se tornando comuns e é relativamente complicado fazer FTP funcionar através de um firewall (em especial, se estiver usando modo passivo) e, no caso, você precisaria ter pelo menos o cliente de FTP funcionando.
[*:b4c9930ea0]O IP de uma máquina numa intranet não é visível para uma máquina na internet... a máquina na internet enxerga apenas o IP externo da máquina da intranet que serve de proxy/gateway/NAT entre a intranet e a internet. Por isso, não é boa idéia incluir no comando do seu protocolo o IP da máquina. Geralmente os programas de chat identificam os usuários por nicks e associa cada nick com o IP/porta que o usuário estiver usando (ou seja, de onde o programa recebeu os dados). Dessa forma, um usuário na intranet irá ser associado com um IP da intranet do ponto de vista de outro usuário na intranet ou com um IP de internet do ponto de vista de um usuário na internet.[/list:u:b4c9930ea0]
Esse esquema de ´stream de dados e gravar em um arquivo.´ voce tem algum exemplo?
Imagino que você tenha algum tipo de protocolo/conjunto de comandos no seu programa de chat... neste caso, você teria que adicionar comandos para envio/recebimento de mensagens que resultassem na gravação de um arquivo. O demo do Indy que demonstra como transferir stream de dados é o ImageServer; a diferença no seu caso é que a stream não é um TMemoryStream mas sim um TFileStream.GOSTEI 0