libUrl tsNet and socketTimeoutInterval

Charles Warwick charles at techstrategies.com.au
Thu Dec 7 03:43:28 EST 2017


Sorry, divide my figures for the last parameter to tsNetSetTimeouts by 8, it has been a long day!

> On 7 Dec 2017, at 6:33 pm, Charles Warwick <charles at techstrategies.com.au> wrote:
> 
> BR,
> 
> 
>> OK, now going over to the forum on this dropbox thread I see Jacque's and Charle's comments. 5 secs seems a little long.. so if we use the algorithm "We want to tell users what is up or dim content options from remote servers in 3 seconds"  (and FTP is not in the cards) we get: 
>> 
>> tsNetSetTimeouts 60, 3000, 3000 , , 3, 12000
>> 
>> This translates "you must have a 96kbps connection or else…"  right?
>> 
>> FYI the dictionary does not declare units for the pLowSpeedTime, it should… I've assumed integers = seconds and not milliseconds for param 5.
> 
> 
> I will get that fixed in the dictionary in the next version, thanks for letting me know.
> 
> tsNetSetTimeouts uses the last two parameters to determine if a connection should be dropped if the “average” speed of the transfer falls below the values set.
> 
> To use your example, if you want to ensure that the average speed of the transfer does not fall below 96kbps, calculating the average speed over a 3 second period, you would specify a value of 3 for the second last parameter and 96000 (96kbps x 1000 bytes per kB) for the last parameter to tsNetSetTimeouts.
> 
> 
>> Second  (dumb) question: how do we trap for the timeout? we keep checking the tsNetStatusCallback on a loop? and if and when we see timeout we inform the user? But we need a connectionID, so how do we extract a connectionID from put/get/set/ http urls? where we are targeting  browser widget on a card. Or a mobilePlayer?
> 
> 
> If you are using a standard synchronous libUrl request (put URL, post x to URL, etc...) then the request will abort as soon as the connection speed falls below the threshold specified and an error will be stored in the result.
> 
> For asynchronous tsNet requests, the callback message will be sent with an error code indicating the failure.
> 
> Hope that helps,
> 
> Cheers.
> 
> Charles
> 





More information about the Use-livecode mailing list