r3wp [groups: 83 posts: 189283]
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r3wp

[!REBOL3 Schemes] Implementors guide

Andreas
11-Jan-2010
[1195]
ok
Graham
11-Jan-2010
[1196x3]
all those can be ignored
can you email the new version?  mine is corrupted now ...with the 
manually applied diff's!
Or upload it ... using the credentials I sent you.
Andreas
11-Jan-2010
[1199x7]
sec, still debugging
closed 12-Jan-2010/2:48:18+1:00
fin 12-Jan-2010/2:51:18+1:00
wow, stalls for precisely 3 minutes
ah, found it
it takes two to takedown a TCP connection
i.e. even if the server closes it's side, until the client also closes, 
the connection is still open
or even more plainly: in the dataport's close handler, you need to 
close the port as well
Graham
11-Jan-2010
[1206x3]
I close cmd ...
oh ... I read that I don't need to close the port ...
oh .. misunderstood ... what I read
Andreas
11-Jan-2010
[1209]
if the dataport is closed on you, you need to close it as well
Graham
11-Jan-2010
[1210x3]
Clients closing connections


The client can simply close the connection without sending QUIT. 
This saves time and memory for both the client and the server.

There are a few broken TCP implementations, such as MacTCP 2.0.6, 
that fail to acknowledge TCP FINs after a local close. If the client 
is running on such a host, it shouldn't close the connection until 
after it sends QUIT and sees the server close the connection; otherwise 
the server will waste time repeatedly transmitting the FIN until 
it times out.
ok, need to close
must be why when I login to chat .. .I start getting more messages 
from my ftp handler!
Andreas
11-Jan-2010
[1213x4]
here's the updated version (i also bumped the version number): http://bolka.at/share/prot-ftp.r, 
here's the full diff to 0.0.5: http://gist.github.com/274796
there's also a lovely gem contained in that code, btw
your dataport is never WAITed on
as there's a WAIT on the ftp scheme port already, simply OPENing 
the dataport suffices to have it scheduled and receiving events
Graham
11-Jan-2010
[1217x2]
ahh... I wondered how that worked
Impressive .. it works fast!
Andreas
11-Jan-2010
[1219x3]
yes
and that with all the debug output
das RETR take full paths?
Graham
11-Jan-2010
[1222x2]
for where?
I don't know if the ftp server will take a full path but the client 
can
Andreas
11-Jan-2010
[1224]
could i have a minimal FTP thingie with just USER/PASS/PASV/RETR?
Graham
11-Jan-2010
[1225]
TYPE
Andreas
11-Jan-2010
[1226x2]
TYPE I would be needed as well
yes
Graham
11-Jan-2010
[1228]
I don't know if the server will accept a path ...
Andreas
11-Jan-2010
[1229]
i'll try :)
Graham
11-Jan-2010
[1230]
try it ..
Andreas
11-Jan-2010
[1231x2]
should work, iirc
yeah, works fine
Graham
11-Jan-2010
[1233x3]
great ...
and you can just queue commands with the WRITE
dunno if two consecutive RETR wil work though
Andreas
11-Jan-2010
[1236]
you'll at least need another PASV before the 2nd RETR
Graham
11-Jan-2010
[1237x2]
Does the WRITE set off the handler again?
guess it needs another read ..
Andreas
11-Jan-2010
[1239x2]
from within the awake handler: yes
from the outside: no
Graham
11-Jan-2010
[1241]
ok, that's the important thing
Andreas
11-Jan-2010
[1242x3]
but it'll be buffered anyway
so if the event machinery already is in full swing :)
ah, graham .... :)