- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
roStreamSocket documentation example has a bug
The roStreamSocket "echo server" example contains a bug. Specifically, when the socket IDs happen to be over 8 digits long, the `Str(socket_id)` representation loses precision because it uses scientific notation. Given that subsequent connections usually have similar socket IDs, this can lead to different connections having the same stringified representation:
Brightscript Debugger> ? connection.GetID() 87031812 Brightscript Debugger> ? Str(connection.GetID()) 8.703181e+07 Brightscript Debugger> ? connection.GetID().ToStr() 87031812
Note that in the above example, the Str() result is missing the final "2" digit.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Re: roStreamSocket documentation example has a bug
Hi @MrLlama,
Thanks for your feedback and reporting this documentation error! Where exactly in the documentation are you seeing this error? I took a look at the article, but was unable to find an instance of scientific notation (rather than the full string).
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Re: roStreamSocket documentation example has a bug
The issue isn't that the article itself uses scientific notation, it's that it fails to account for Str(some_big_number) returning a string in scientific notation. This causes a loss of precision and can cause multiple connections with different IDs to end up with the same Str(connection_id).

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Re: roStreamSocket documentation example has a bug
Thank you for clarifying! We've created a ticket with the responsible engineering team to investigate further.