Forum

Results 1 to 8 of 8
  1. #1
    Join Date
    August 2010
    Location
    Olympia, WA
    Posts
    17

    is ts3client_flushClientSelfUpdates() "reliable"??

    Can I ask a simple implementation question about the SDK lib?? I'm using ts3client_flushClientSelfUpdates() in several places but notably to help implement PTT along the lines suggested in the documentation (FAQ). It works fine so far as I can tell in most cases. Very occasionally people are reporting "stuck" PTT -- they start talking and after releasing the PTT key their mic remains open.

    I'm inclined to think this is more likely to be a system-local issue for the people experiencing this given how well it works 99% of the time. However, it does occur to me to ask: when state changes are "committed" to the SDK lib code with ts3client_flushClientSelfUpdates() is the protocol going to deliver those updates in reliable fashion??

    The reason I ask is that monitoring network connections we have some users in (.eu domains for example) where the quality of the network connection is wildly variable (latency and bandwidth can vary a LOT in short periods...not enough for the whole connection to timeout but enough to be disruptive to time-sensitive operations in some areas of the networking code in the game we are using the TS3 SDK client with for VoIP.

    I'd like to rule out messages getting dropped or lost in the SDK lib code as a possible source of issues. Can I do that?? Thanks in advance.

  2. #2
    Join Date
    October 2012
    Location
    Germany
    Posts
    553
    As far as I'm informed, just like anything it's UDP packets, hence it's a bit more volatile than TCP to bad connection qualities.
    That said, it's the same client lib that the official client uses and that hasn't been a source of complaints as far as I know yet.
    I imagine you could utilize the return code of the flush with a timer to gain information about a problem on that end.

    Note also, from my personal experience, a hotkey implementation can be a source of error for that, as opposed to the "one-shot" trigger sort the release of the buttons must properly identify the press - which for key combos of course can happen in any possible sequence with a non-modifier key having the priority role.
    An indication for that would be the reports being about such a release, and apparently not about the press (and other commands) - so this stands out in that regard.

  3. #3
    Join Date
    September 2012
    Posts
    6,080
    the muting / unmuting happens locally with the PTT implementation. It does send that information off to the server but other than that it's local.
    When sending PMs please make sure to include a reference link to the thread in question in the body of your message.

  4. #4
    Join Date
    August 2010
    Location
    Olympia, WA
    Posts
    17
    Quote Originally Posted by Chris View Post
    the muting / unmuting happens locally with the PTT implementation. It does send that information off to the server but other than that it's local.
    OK, I guess that makes sense. Thanks!

    What's the answer to the question more generally though: if a particular client has a wobble on the network transport below the SDK lib just at the moment state is flushed to send to the server, will the lib retry packets that don't make it first time??

    [We use UDP for the game transport but stuff that is critical gets sent over reliable UDP -- wondering if the SDK lib does the same thing for any or all data.]

  5. #5
    Join Date
    August 2013
    Location
    Germany
    Posts
    541
    Which game are you working on? I've never seen a game with Teamspeak VoiP integration :O

  6. #6
    Join Date
    August 2010
    Location
    Olympia, WA
    Posts
    17
    Quote Originally Posted by Bluscream View Post
    Which game are you working on? I've never seen a game with Teamspeak VoiP integration :O
    You can see, well hear I should say, what we have used the TS3 SDK for >> here <<. Technically we have a standalone app wrapped around the TS3 SDK lib for the VoIP part but it's controlled from in game (PTTs, [channel] frequency tuning, etc.) and telemetry from the game world state drives the DSP effects applied to the nice clean sound the SDK delivers.

  7. #7
    Join Date
    September 2012
    Posts
    6,080
    Quote Originally Posted by boxer View Post
    What's the answer to the question more generally though: if a particular client has a wobble on the network transport below the SDK lib just at the moment state is flushed to send to the server, will the lib retry packets that don't make it first time??

    [We use UDP for the game transport but stuff that is critical gets sent over reliable UDP -- wondering if the SDK lib does the same thing for any or all data.]
    Yes, everything except voice data is transmitted reliably.
    When sending PMs please make sure to include a reference link to the thread in question in the body of your message.

  8. #8
    Join Date
    August 2010
    Location
    Olympia, WA
    Posts
    17
    Quote Originally Posted by Chris View Post
    Yes, everything except voice data is transmitted reliably.
    Great -- thanks for that! That certainly helps me with people trying to second guess the implementation

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Replies: 2
    Last Post: July 8th, 2015, 11:39 AM
  2. [Resolved] Add "Channel" Text Location to "Sent poke" and back to "Received poke"
    By PatPeter in forum Suggestions and Feedback
    Replies: 2
    Last Post: May 9th, 2013, 07:09 AM
  3. Can I use "whisper" to enable a "Public" and "Private" channel?
    By DadisAjax in forum General Questions
    Replies: 2
    Last Post: June 29th, 2012, 12:59 AM
  4. Replies: 15
    Last Post: June 20th, 2012, 01:51 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •