Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Official RIVA thread
brianmount Wrote:Dean, a couple questions about the protocol version. First, I was trying to connect to Sam Vimes' server using protocol version 4, but he hadn't upgraded yet. I thought that in past I got protocol version rejects when I tried this. This time it seemed like my login request was accepted, but then the server dropped the connection on me. Do you know what the expected behavior when the client uses an unsupported protocol version?

I would have thunk that you would have gotten a rejection. I'll look into that.

Quote:Second, I was wondering if there was some way to negotiate the protocol version. From the client's point of view, it would be great to use version 4 if available, or version 3 if not (and so on). I guess I could repeatedly attempt a connection with decreasing protocol version numbers until something worked. But might there be a way for the client to send a protocol version number, and the server to counter with the highest version it can support? The client can either disconnect and give up if the supported version is not high enough, or continue, using the server's version. Just a thought -- I don't have a fully-worked-out suggestion.

I guess that the rejection could include the highest version supported and you could try again using that if you want to try to support multiple versions.
Dean Roddey
Explorans limites defectum
Reply
SamVimes2 Wrote:A question about the RIVACmd: is it intended that the command is not available in a template OnLoad or OnPreload?

I think the suggested use case (at least for a web widget kludge) is that a single template can be made to work with both RIVA and the regular IV by having a web widget (that will display in the regular IV and get ignored by RIVA) and an OnPreload/OnLoad action of form RIVACmd[WebWidget, URL, x1/y1,x2/y2] (that will get ignored on the regular IV and processed by a RIVA client).

Thoughts?

I hadn't thought of it in those terms, but that would effectively be the case. The RIVA system won't see the web widget since it never gets loaded in that case, and the regular IV doesn't process the RIVACmd commands.
Dean Roddey
Explorans limites defectum
Reply
I found the problem that was causing the lost connections. I was mistakenly sending the old-format login request in cases where I didn't have any environment variables to send. It looks like I need to send the new format even if there are none.

FYI, the reason I found the problem is that the server log said "Got opcode 105 but expected 102." In fact, you received 102 but were expecting 105. So I think your error message has the two numbers reversed.
Reply
I'll fix the error message also, thanks for catching that. If you say you are V3 or beyond I think you do have to send the new login, even if you don't have any variables to send.
Dean Roddey
Explorans limites defectum
Reply
Dean Roddey Wrote:I hadn't thought of it in those terms, but that would effectively be the case. The RIVA system won't see the web widget since it never gets loaded in that case, and the regular IV doesn't process the RIVACmd commands.

Does this mean we'll be able to use the commands in OnLoad or OnPreload at some point? we've got this pretty close to ready.
Reply
It might be tricky using them in the OnLoad or OnPreload, but I guess it's your responsibility to deal with the issues depending on what you allow users to send you with this command, so I have no problem enabling it. I guess on the RIVA end, since it doesn't deal with widgets themselves, there's no danger of trying to access things that aren't set up yet.
Dean Roddey
Explorans limites defectum
Reply
Is the first post still supposed to be up to date? I seem to have read about protocol 3 and such... Wink
Field Generator 0.65: Create CQC fields on the fly, from external applications.
Mobile templates 0.4: Main resolution of 320x480 with navigation side bars (384x544).
Sage Media Server 1.1.3 + Sage Player 2.7.8: Display and manipulate SageTV information or player.
TaRIVA 1.26: Android RIVA client.
Reply
Here is the latest version. There's not been a lot of changes. New stuff is added at the end of the header file to make it easy to find.

V3 allows you to send a new login response, which includes the values of the environmentally based CQC runtime variables.

V4 just adds the new RIVACmd that users can set up to pass through arbitrary commands to you.


Attached Files
.hpp   CQCRemVComm_Proto.hpp (Size: 37.23 KB / Downloads: 8)
Dean Roddey
Explorans limites defectum
Reply
So, if I was to make a new V5 of the protocol, to get support for the multi-line segment drawing command that is required for supporting graphs, is there anything else that we can slip in while I'm creating a new version? It would need to be stuff that isn't very complex since we are too close to 4.2 for that. But if there's anything else that would be useful and not too heavy I could do that while I'm making changes.
Dean Roddey
Explorans limites defectum
Reply
Dean Roddey Wrote:It would need to be stuff that isn't very complex since we are too close to 4.2 for that.
One easy part for protocol 5 could be to accept the client's resolution during the login, without doing anything with it.

Then let say in 4.5 you could pre-scale everything server side, so that people can use their regular templates on devices of any resolution (matching the orientation)... No provided resolution would mean no pre-scaling...
Field Generator 0.65: Create CQC fields on the fly, from external applications.
Mobile templates 0.4: Main resolution of 320x480 with navigation side bars (384x544).
Sage Media Server 1.1.3 + Sage Player 2.7.8: Display and manipulate SageTV information or player.
TaRIVA 1.26: Android RIVA client.
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Html 5 Riva potts.mike 9 12,448 09-15-2013, 04:22 AM
Last Post: bjkiller
  Thinking about the next step in RIVA Dean Roddey 6 10,083 01-22-2013, 06:15 AM
Last Post: brianmount
  .Net RIVA Client Dean Roddey 146 106,885 02-06-2012, 06:53 PM
Last Post: Dean Roddey
  Transparent images in RIVA? SamVimes2 36 44,233 02-05-2011, 04:34 PM
Last Post: Dean Roddey
  riva burkepaol4 1 8,007 12-17-2010, 11:39 AM
Last Post: Dean Roddey
  Riva screen blanker on CF.NET froop 3 7,767 08-06-2010, 10:34 PM
Last Post: froop
  RIVA Connection batwater 6 8,253 07-16-2010, 04:46 PM
Last Post: batwater
  Java based RIVA Client? batwater 10 12,154 04-03-2010, 05:35 AM
Last Post: wuench
  RIVA Client for Linux bryanb 22 18,817 07-16-2009, 09:11 PM
Last Post: bjkiller

Forum Jump:


Users browsing this thread: 1 Guest(s)