socket error 54?
bdrunrev at gmail.com
Wed Feb 17 02:38:14 CST 2010
On Wed, Feb 17, 2010 at 12:08 AM, Richard Gaskin
<ambassador at fourthworld.com> wrote:
> It does not appear to be the exact same point in the file; IIRC it varies by
> a couple MBs. I've tried it with Interarchy and a custom Rev-based FTP
> client, with the same results:
> At home, using cable: Bluehost succeeds, and Dreamhost succeeds
> At the office, w/DSL: Bluehost fails, while Dreamhost succeeds
> BH Tech Support tells me that they have no imposed limit on their end, but
> given that I have no problem with DH I'm inclined to think there's something
> funky with BH (well, something *else* funky, in addition to a long-standing
> issue with server log configuration, but that's a whole other story).
Have you tried it with a 25mb file that is gzipped? Or how about one
that is just 25mb of say 1 char? I'm suggesting this in case there is
some funky combo in your file that is causing the server to hiccup.
If a binary file like gzip or an ascii file of letter A cannot get
through, then it does point to their server/firewall/router config.
Alas, something of which you have no control.
Here's another suggestion. Why not use something like curl or wget to
transfer the same file using one of the 'continue' options? Curl has
a 'continue' option that works with PUT, so I'm guessing you can use
that to continue an upload that did not work. I've used this kind of
feature with large downloads in case they fail half-way.
Curl works very well with open process in Rev, so you could use that
behind the scenes in your app, provided of course there is not some
other funky reason why you need to use Rev's socket-level features.
I guess if you are talking to a FTP server using your own app, you
might be able to build in your own 'continue' feature. There must be
a command that curl sends to the server to find out the byte to
continue the file from, and a command that tells the server to append
the data to the existing file rather than overwrite it.
Hope that helps.
More information about the use-livecode