Multi homing and using multiple interfaces on a host using Go

222 views
Skip to first unread message

Ahmed Sadek

unread,
Sep 8, 2015, 12:35:46 PM9/8/15
to golang-nuts

Greetings all,

I was wondering if there is a method that enable a host to use multiple interfaces to connect to a server to get a video file, for example using the wifi and Ethernet interface simultaneously using Go ?

Any hints or tutorials would be a great help, I am new to Go and would like to achieve multihoming function with it.

Thanks

Ahmed

alco...@gmail.com

unread,
Sep 8, 2015, 1:09:40 PM9/8/15
to golang-nuts
What do you mean by "use multiple interfaces to connect to a server".

Do you want to use multiple tcp connections managed from a Go program?

or do you want to use an SCTP association?

or do you have other methods in mind?

Ahmed Sadek

unread,
Sep 9, 2015, 7:34:23 AM9/9/15
to golang-nuts
I have a video file on a server that I would like to stream to a client , the client (my laptop) have two IP address / network cards (wifi and Ethernet for example). my main target is to get the video streamed using the two connections in the same time, to get faster streaming.
I thought about using two concurrent TCP connections using Go and also using sctp protocol and came here for some hints or advice from the community since I am new to Go.

So anyone can guide me, I would be really thankful.



On Tuesday, September 8, 2015 at 6:35:46 PM UTC+2, Ahmed Sadek wrote:

alco...@gmail.com

unread,
Sep 9, 2015, 7:26:17 PM9/9/15
to golang-nuts
I understand then that you are opening two TCP sockets (I cannot see how SCTP can help you here), binding them to each of your IP addresses and connecting simultaneously to the server, asking for different parts of the file with each one.

What specific Go difficulties are you having when listening on two sockets instead of just one, which is the simple case?

I cannot see any reason why using Go would make that task harder than using any other programming language. This is not a "programming language" problem to solve.

Go will make the concurrent part of receiving the packets and storing them on disk easier, of course, as Go concurrency is pretty awesome, but ultimately your Go program will perform pretty much the same tasks than the same program written in any other language, the Go version will probably be easier to write, maintain and understand, though.
Reply all
Reply to author
Forward
0 new messages