Peter Saint-Andre wrote:
> Dirk Meyer wrote:
>> Hi,
>> 
>> I had a strange discussion with a co-worker yesterday about the abuse of
>> HTTP. Well, to make a long story short:
>> http://www.tzi.de/~dmeyer/jingle-http.html
>> 
>> This is a very early draft and only shows the very basic idea. What do
>> you think? IMHO it could be useful.
>
> Interesting. I'd like to see how this could use Google Talk's pseudo-tcp
> as the transport. I may need to ping some Googlers off-list about how
> they do things, because I don't see any documentation online at
> <http://code.google.com/apis/talk/talk_developers_home.html>.

http://code.google.com/p/gtalkbot/source/browse/trunk/talk/p2p/base/pseudotcp.cc

It looks like they really speak some sort of TCP over the link. I don't
know if that is such a good idea. If we use Jingle (with ICE-TCP) we
have a stream that already is TCP most of the time. The only benefit we
have with pseudo-tcp is that we can use port numbers with it. But aren't
the Jingle applications similar to port numbers. Maybe add a generic
application with an id to Jingle:

| <jingle xmlns='urn:xmpp:jingle:0'
|         action='session-initiate'
|         initiator='[EMAIL PROTECTED]/castle'
|         sid='851ba2'>
|   <content creator='initiator' name='a-stream-offer'>
|     <description xmlns='urn:xmpp:jingle:apps:stream:0'>
|       <application name="http"/>
|     </description>
|     <transport xmlns='urn:xmpp:jingle:transports:ice-tcp:0'/>
|   </content>
| </jingle>

The application name is similar to TCP ports, there will be NO registrar
involved. You can use whatever you want (similar to use a port in
TCP). This simply opens a stream to do something depending on the
application.

So an application address is not host:port, it is fullJID:app. I'm not
sure how to transform that into a valid URI.

About URIs: Reading RFC 2396 section 3:

| absoluteURI   = scheme ":" ( hier_part | opaque_part )
| hier_part     = ( net_path | abs_path ) [ "?" query ]
| net_path      = "//" authority [ abs_path ]
| authority     = server | reg_name

So reg_name MUST be point to the jull JID of the peer and define the
Jinfle application. A closer look at reg_name:

| reg_name      = 1*( unreserved | escaped | "$" | "," |
|                    ";" | ":" | "@" | "&" | "=" | "+" )

Maybe I miss something, but something like this should work for my HTTP
proposal (named xhttp(s) because it uses reg_name and not server)

| http://[EMAIL PROTECTED]:castle/index.html

Is an XMPP resource allowed to include a /? If yes, than we need to
adjust this.


Maybe this is useful, maybe this is a stupid idea. I'm not sure yet. But
if it would possible to address something through Jingle it would be
very cool.


Dirk

-- 
A computer scientist is someone who, when told to 'Go to Hell', sees
the 'go to', rather than the destination, as harmful.

Reply via email to