Hi,
I'm trying to use quic as a stand-alone transport protocol / tcp-replacement (in userspace).
Since I prefer starting with something that works, I began with compiling chromium (as suggested in the former post about »Trying to compile the sources from svn.«) The QUIC-FAQ points to »/src/net/tools/quic/« which contains a quic client and server. They can be compiled with: "ninja -C out/Debug/ quic_library quic_client quic_server"
- My first question is: Are client and server in this directory still up to date? (Since, there is also a quic directory under: »src/net/quic«)
- My second question is how to use them properly?
Starting both programs without any parameter seems to trigger some communication between them, then the client quits. But any attempt to transport some "payload" results in a crash:
In »quic_client_bin.cc« the following example can be found in the comments: "quic_client --port=6122 /index.html /favicon.ico" After adjusting the port (6121), the client crashes with: "[0917/122321:FATAL:spdy_utils.cc(123)] Check failed: !scheme.empty()." Another post in the chromium group suggests calling the client like this: "./quic_client http://<somehost>/index.html" (https://groups.google.com/a/chromium.org/forum/#!searchin/chromium-dev/quic/chromium-dev/JOzig90Xp0I/q3NsvNEzzLwJ)
This, at least, does not crash. So if this is the right way to call the client, the comment in »quic_client_bin.cc« should be updated. But the next problem is to configure the server. There is no information where to put the files to serve, and putting them in the working directory does not work.
After startup the server prints: "[0917/123745:INFO:quic_in_memory_cache.cc(124)] Attempting to initialize QuicInMemoryCache from directory: /tmp/quic-data". But putting files into »/tmp/quic-data« results in a crash of the server on startup. In the file »quic_in_memory_cache.cc« is a comment that says: "[...] Cache directory can be generated using `wget -p --save-headers <url>", but this still results in a crash:
mkdir /tmp/quic-data
cd /tmp/quic-data
wget -p --save-headers http://google.com
cd [into the chromium dir]
./quic_server
--> crashes with "[...] Unhandled error framing HTTP."
But even if this would work, I'm wondering what the quic server is supposed to do. Why does it only have a cache-dir and what are the stored headers used for?
I'd appreciate any help guiding me to a working client-server example with QUIC.
Best regard, Mario
--
You received this message because you are subscribed to the Google Groups "QUIC Prototype Protocol Discussion group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to proto-quic+...@chromium.org.
To post to this group, send email to proto...@chromium.org.
For more options, visit https://groups.google.com/a/chromium.org/groups/opt_out.
Transfer-Encoding: chunked
X-Original-Url: http://www.google.com/
./out/Debug/quic_client --port=6121 --hostname=localhost http://www.google.com/
Great, thank you very much for your help. This helps me a lot!
But I still have an additional question: How can I tell it actually worked?
I don't see the quic_client writing any files to disk or saying "IT WORKS". ;-)
On Thu, Sep 19, 2013 at 12:12 PM, Mario H wrote:
Great, thank you very much for your help. This helps me a lot!
But I still have an additional question: How can I tell it actually worked?
I don't see the quic_client writing any files to disk or saying "IT WORKS". ;-)Heh, yeah. instead, it would tell you if there were an error. But this is lame :> I'd be thrilled to get a patch which makes it more clear what is going on.
That's good to hear. I don't remember what it was doing with the path, but I was also having problems with an assert on where a / was. I used strace to see where it was looking when I specified /tmp/quic-data, and it was prepending it with something.
Thanks!!! So you used quic_client to talk to the quic server and it worked?Some few questions in details:Did you save index.html directly under /tmp/quic-data or /tmp/quic-data/www.google.com?
Did you start the server with quic_server --quic_in_memory_cache_dir=/tmp/quic-dataand start the client with quic_client http://localhost:6121?Thanks so much!
On Wednesday, February 12, 2014 7:20:43 PM UTC-5, eledra Nguyen wrote:
I tried the Wikipedia page, it works perfectly fine.
Make sure that the error you get is from that file, sometimes other page causes the problem.
Also, if you don’t want the X-Original-Url header, you can replace this:
request_headers.ReplaceOrAppendHeader("host", host);
to
request_headers.ReplaceOrAppendHeader("host", “localhost”);
in quic_in_memory_cache.cc
Also, make sure there is a blank line after the HTTP header. Like this:
HTTP/1.1 200 OK
<!DOCTYPE html>
<html lang="mul" dir="ltr">
About debugging, you should read /src/base/logging.h
There’re a lot of useful log command you can use. I used this for my seminar paper at school:
quic_server --quic_in_memory_cache_dir=/home/ubuntu/quic-data --v=0 --vmodule=tcp_cubic_sender=2,cubic=1
Regards,
Hi,
I'm trying to use quic as a stand-alone transport protocol / tcp-replacement (in userspace).
Since I prefer starting with something that works, I began with compiling chromium (as suggested in the former post about »Trying to compile the sources from svn.«) The QUIC-FAQ points to »/src/net/tools/quic/« which contains a quic client and server. They can be compiled with: "ninja -C out/Debug/ quic_library quic_client quic_server"
- My first question is: Are client and server in this directory still up to date? (Since, there is also a quic directory under: »src/net/quic«)
- My second question is how to use them properly?
Starting both programs without any parameter seems to trigger some communication between them, then the client quits. But any attempt to transport some "payload" results in a crash:
In »quic_client_bin.cc« the following example can be found in the comments: "quic_client --port=6122 /index.html /favicon.ico" After adjusting the port (6121), the client crashes with: "[0917/122321:FATAL:spdy_utils.cc(123)] Check failed: !scheme.empty()." Another post in the chromium group suggests calling the client like this: "./quic_client http://<somehost>/index.html" (https://groups.google.com/a/chromium.org/forum/#!searchin/chromium-dev/quic/chromium-dev/JOzig90Xp0I/q3NsvNEzzLwJ)
This, at least, does not crash. So if this is the right way to call the client, the comment in »quic_client_bin.cc« should be updated. But the next problem is to configure the server. There is no information where to put the files to serve, and putting them in the working directory does not work.
After startup the server prints: "[0917/123745:INFO:quic_in_memory_cache.cc(124)] Attempting to initialize QuicInMemoryCache from directory: /tmp/quic-data". But putting files into »/tmp/quic-data« results in a crash of the server on startup. In the file »quic_in_memory_cache.cc« is a comment that says: "[...] Cache directory can be generated using `wget -p --save-headers <url>", but this still results in a crash:
mkdir /tmp/quic-data
cd [into the chromium dir]
./quic_server
--> crashes with "[...] Unhandled error framing HTTP."
But even if this would work, I'm wondering what the quic server is supposed to do. Why does it only have a cache-dir and what are the stored headers used for?
I'd appreciate any help guiding me to a working client-server example with QUIC.
Best regard, Mario
I was hoping to gain some more insight on how to take the toy server (and client) and turn them into something that could work for any type of data, not just HTTP.
I read your paper, Mario. Impressive work!
I was hoping to gain some more insight on how to take the toy server (and client) and turn them into something that could work for any type of data, not just HTTP.
--
You received this message because you are subscribed to the Google Groups "QUIC Prototype Protocol Discussion group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to proto-quic+unsubscribe@chromium.org.
To post to this group, send email to proto...@chromium.org.
For more options, visit https://groups.google.com/a/chromium.org/d/optout.
To unsubscribe from this group and stop receiving emails from it, send an email to proto-quic+unsubscribe@chromium.org.
For more options, visit https://groups.google.com/a/chromium.org/d/optout.
I think you can add a HTTP header to any kind of file and use it with the toy server. Simply open a file in a test editor like vim and a add a HTTP header to it. Then use the client to download it. This file could be mp4, iso etc.AmitOn Sat, Nov 26, 2016 at 11:36 PM, Shawyoun Shaidani <shaw...@gmail.com> wrote:I read your paper, Mario. Impressive work!
I was hoping to gain some more insight on how to take the toy server (and client) and turn them into something that could work for any type of data, not just HTTP.
--
You received this message because you are subscribed to the Google Groups "QUIC Prototype Protocol Discussion group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to proto-quic+...@chromium.org.