Quicr / old-quicrq

BSD 2-Clause "Simplified" License
4 stars 2 forks source link

Example usage of quicrq_app with actual parameters for client,server, relay/origin #104

Closed hd51515 closed 1 year ago

hd51515 commented 1 year ago

It would be nice to have an example instruction set that works out of the box after building quicrq_app. Assumption: Client, server and relay/origin are running on the same machine, [192.168.x.y] is the IP address of the machine. Something like below will help (but the below did not work for me, it needs correction) 1) First, start a server: ./quicrq_app -p 30800 -c ./certs/cert.pem -k ./certs/key.pem server 2) Second, start an origin: /quicrq_app -p 30600 -c ./certs/cert.pem -k ./certs/key.pem relay 192.168.x.y d 30800 3) Third, start a client: ./quicrq_app client localhost d 30800 get:video1_source.bin:./tmp 4) ..... 5)....

suhasHere commented 1 year ago

@hd51515 Christian added doc for the usage here: https://github.com/Quicr/quicrq/blob/main/doc/quicrq_app.md

Please let me know if this helps.

hd51515 commented 1 year ago

In fact, he updated that doc in response to my request. I tried to follow those steps and unsuccessful to build a concrete example that works. I reached out to him for an example that works but no luck thus far.

On Fri, Dec 2, 2022 at 5:43 PM Suhas Nandakumar @.***> wrote:

@hd51515 https://github.com/hd51515 Christian added doc for the usage here: https://github.com/Quicr/quicrq/blob/main/doc/quicrq_app.md

Please let me know if this helps.

— Reply to this email directly, view it on GitHub https://github.com/Quicr/quicrq/issues/104#issuecomment-1335934074, or unsubscribe https://github.com/notifications/unsubscribe-auth/AC7CKAOHPSWI36THCQ7Q6Y3WLJ3S3ANCNFSM6AAAAAARN6R5HA . You are receiving this because you were mentioned.Message ID: @.***>

hd51515 commented 1 year ago

Here is what I followed and the result, please let me know what is wrong here. All these are on the same Fedora Linux box I think something is wrong with the client URL and Path.

Terminal 1: Server: harid@harid-fedora-MJ0FVMXW quicrq]$ ./quicrq_app -p 30800 -c ./certs/cert.pem -k ./certs/key.pem -w ./tests server QUICRQ Version 0.25, Picoquic Version 1.04a Waiting for packets.

Terminal 2 Relay: [harid@harid-fedora-MJ0FVMXW quicrq]$ ./quicrq_app -p 30600 -c ./certs/cert.pem -k ./certs/key.pem relay localhost d 30800 QUICRQ Version 0.25, Picoquic Version 1.04a Relaying to localhost:30800 Waiting for packets.

Terminal 3: Client: [harid@harid-fedora-MJ0FVMXW quicrq]$ sudo ./quicrq_app client localhost d 30600 get:video1_source.bin:./tmp QUICRQ Version 0.25, Picoquic Version 1.04a Waiting for packets.

The documentation in https://github.com/Quicr/quicrq/blob/main/doc/quicrq_app.md for starting a server does not list the option -w to specify the test content folder. There may be few more missing in that documentation/example

clarkzjw commented 1 year ago

Based on my understanding, per https://github.com/Quicr/quicrq/blob/main/doc/quicrq_app.md?plain=1#L137-L139, you have to have different clients POSTing and GETing data.

Example

1. run a server
./quicrq_app -c ./ca-cert.pem -k ./server-key.pem -p 4433 -w ./tests server

2. run a client to post data
./quicrq_app client 127.0.0.1 d 4433 post:test.bin:./tests/video1_source.bin

3. run a client to get data
./quicrq_app client 127.0.0.1 d 4433 get:test.bin:/tmp/test.bin

./tests/video1_source.bin and /tmp/test.bin shall be the same.

hd51515 commented 1 year ago

Thanks. That worked. I was able to put a relay in the middle and subscribe to it. 1 & 2 as above

  1. Run a relay to get data ./quicrq_app -p 30900 -c ./certs/cert.pem -k ./certs/key.pem relay 127.0.0.1 d 4433

  2. Run a client to subscribe data from relay in step 3 ./quicrq_app client 127.0.0.1 d 30900 get:test.bin:/tmp/test.bin