tunnel session client for data transfer
GoogleCodeExporter opened this issue · 6 comments
GoogleCodeExporter commented
Hi,
I want to use the TunnelSessionClient for transferring binary data between two
nodes. I just started with transferring a simple string like "hello libjingle",
but I got a "feature-not-implemented" error from server in session initiator
phase.
The implemetation is just simply like creating a new TunnelSession when each
time there is data to send out, and write data to the stream which is got from
CreatTunnel. Each node will handle SignalIncomingTunnel, accept the incoming
tunnel and read data from stream as well. Am I missing something?
Please find the long in attache. The send command is like:
send <message_id> <data> <remote_node>
Original issue reported on code.google.com by wangqin...@gmail.com
on 16 Sep 2011 at 10:48
Attachments:
GoogleCodeExporter commented
Hi there,
I have already implemented a data transfer application by tunnel session. It
can transfer data between two online nodes. I have two problems which are still
confused me now, I would appreciate if anyone could give any suggestions.
1. Gracefully shut down after data transfer complete. Now, when receiver got
the completed transferred data, it will call stream->Close() to trigger session
terminate and do some cleaning stuff. But the sender could send out candidate
stanza before it received terminate stanza. When receiver received this
candidate stanza, it will reply an "unknown session" stanza to the sender. At
last, both sides will finished with an HTTP error:
Error(httpbase.cc:506): talk_base::HttpBase::HandleStreamClose: (10061)
HttpRequest completed with error: 4
Is there anyway to shutdown gracefully than this?
2. I have done some tests for concurrently transfer data between several nodes.
But when the data size is larger(say 10mb), some of the channels will be closed
without started transfer. I cached all the pending data, and created a channel
for each data block. Then if TCP established for the channel, it will start
transfer. But actually not all the channels can read/write concurrently. Dose
it works for one session client with multi channels in Libjingle now? Btw, my
version is 0.5.8.
Thanks.
Original comment by wangqin...@gmail.com
on 1 Nov 2011 at 5:00
GoogleCodeExporter commented
Hi,
could you please post your code, I'm trying to do the same thing and really
need a starting point.
I've also looked at the old pcp example (Issue 107) but unfortunately this
won't compile with newer libjingle versions.
Another example that I've found: https://bitbucket.org/ivucica/libjingle-test
Thanks in advance!
Original comment by cjan...@gmail.com
on 2 Nov 2011 at 1:36
GoogleCodeExporter commented
Hi,
If you want to use tunnel session client, the pcp example in libjingle 0.3.0 is
a good starting point.
I am currently porting this data transfer feature to java, there is a lot of
work to do, maybe I will open source it after a stabilized version.
Original comment by wangqin...@gmail.com
on 2 Nov 2011 at 3:23
GoogleCodeExporter commented
thanks for your fast reply but java is no option for me, before investing more
time I've hoped for a working minimal example to test if libjinge is able to
tunnel through my firewalls, than I will try to adapt the pcp example
Original comment by cjan...@gmail.com
on 2 Nov 2011 at 9:18
GoogleCodeExporter commented
Obsoleted by the WebRTC p2p API.
Original comment by juberti@google.com
on 1 Jun 2013 at 4:23
- Changed state: WontFix
GoogleCodeExporter commented
haha,i find the efficiency of algorithm in the pseudotcp is only one-third of
the TCP in the intranet and unstable.Have you implemented it? And have you
optimize your performance?
Original comment by debut.fe...@gmail.com
on 26 Mar 2014 at 6:39