Hi GoLangers,

I use axel (using multiple connections for one file) under Linux
http://axel.alioth.debian.org/ and I tried to port it to WIN32 http://www.codeproject.com/Articles/335690/MultiThread-Download-Accelerator-Console

But here comes GoLang, it provides GoRoutines, net package to handle
socket, wide operating system support..., so I setup the GoAxel project

To HTTP protocol, there is already net/http package in GoLang, and
@tuxcanfly wrote a example - GoDown based on it.
However, GoDown is lack of test, for example it will be blocked when
downloading SUPER LARGE FILE with very slow down speed
Towards nginx, set limit_rate to 10k in nginx conf, then restart the
service, go run godown.go http://localhost/SUPER_LARGE_FILE, then it will
be blocked in ioutil.ReadAll(resp.Body)

So I wrote my own conn package based on net`s to handle HTTP protocol, such
as Write to net.Conn with HTTP HEADER, Read from net.Conn in the for loop,
etc. https://github.com/xiangzhai/goaxel/blob/master/conn/http.go#L129

PS: GoLang is cool, less source code, more feature function, it save my
keyboard, because I am a C/C++ developer, I need to input huge number of
source code...

You received this message because you are subscribed to the Google Groups "golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Search Discussions

Discussion Posts

Follow ups

Related Discussions

Discussion Navigation
viewthread | post
posts ‹ prev | 1 of 2 | next ›
Discussion Overview
groupgolang-nuts @
postedNov 27, '13 at 4:49p
activeNov 29, '13 at 9:32a

2 users in discussion

Ingo Oeser: 1 post Xiangzhai83: 1 post



site design / logo © 2022 Grokbase