nntp2http.com
Posting
Suche
Optionen
Hilfe & Kontakt

Re: Transfert de fichier par TCP: sans logiciel particulier coté Amiga

Von: goebish (goebish@_invalid_gmail.com) [Profil]
Datum: 21.03.2009 10:26
Message-ID: <49c4b2e9$0$15022$426a74cc@news.free.fr>
Newsgroup: fr.comp.sys.amiga
goebish a écrit :
> Bonjour, est il possible de transférer un fichier d'un PC vers l'Amiga
> sans soft particulier coté Amiga, mais avec une pile TCP/IP fonctionnelle ?
> Je m'explique:
>
> J'ai un A1200 sans lecteur D7 qui boot WB 3.1 sur une compact flash.
> Le pilote de ma carte wifi PCMCIA (prism2.device) ainsi que Miami sont
> bien installés, MiamiPing tourne, l'Amiga répond aussi au ping, aucun
> soucis niveau réseau.
>
> Maintenant je voudrais transférer des fichers a partir d'un pc vers
> l'amiga par le réseau, en sachant que je n'ai pas de soft style ftp ou
> ssh/scp coté Amiga et pas de possibilité d'en transférer un
par
> disquette étant donné que je n'ai pas de lecteur.
>
> Est il possible de transférer un fichier directement avec des commandes
> Shell ?
>
> J'ai essayé avec nc.exe (netcat) coté PC et Type coté Amiga:
> ( 192.168.0.179 = Amiga)
>
> Amiga> Type TCP:40000 > DH1:file.test
>
> PC> nc 192.168.0.179 40000 < file.test
>
> Le transfert s'effectue sans soucis tant que le fichier est un fichier
> texte, mais avec un fichier binaire ça ce corse, le fichier ce retrouve
> tronqué coté Amiga.
>
> Je suppose que le soucis provient de la commande Type, quelqu'un aurait
> il une solution à me proposer ?
>
> Merci.

Bon j'ai finit par m'en sortir:

Toujours avec netcat coté PC et un script ARexx coté Amiga (j'avais
oublié que j'avais ça à ma disposition en plus des commandes
AmigaDOS) !

/* receive.rexx
** Written by Wolfgang Stoeggl (1998, 2004) */
say 'Filename?'; pull file
say 'Bytes?'; pull size
say 'Now send the file!'
open('1','tcp:40000')
open('2',file,'W')
n = 1024
lof = 0
do while lof < size
lof = seek('2', 0, E)
diff = size-lof
if diff < 1024 then n = diff
t = readch('1', n)
writech('2', t)
say lof || '0b'x
end
say 'Received file: 'file''
say 'Filelength = 'lof' bytes'
close('1'); close('2')
exit
/*-----------------*/

Le script d'origine prenait l'entrée sur SER:, je l'ai juste modifié
pour qu'il prenne TCP:40000 à la place.

coté amiga je fait:
1> rx receive.rexx
puis je rentre le nom du fichier que je veux recevoir ainsi que sa taille

coté pc:
C:> nc 192.168.0.179 40000 < test.bin
-> la progression s'affiche coté Amiga, il faut faire un ctrl+c coté PC
quand le transfert est finit.

Et voilà, ça transmet des fichiers binaires sans soucis, maintenant j'ai
plus qu'à aller sur l'aminet pour trouver un client ftp léger (il me
reste à peine 200Ko de ram une fois la pile tcp démarrée).

Merci à tous de vous être penchés sur mon cas :)


[ Auf dieses Posting antworten ]

Antworten