That sentence is out of context. The curly brackets indicate that the author is referring to the R package library(websocket) (not websockets in general):
In practice, Shiny does not use {websocket} . As mentioned earlier, the client is directly built from JS. To better understand the whole process, we are going to design a simple web page containing an HTML range slider, pass its value from JS to R through the websocket, so that R can produce a simple histogram.
Here is the source.
Maybe you have trust in code, please see:
shiny imports and uses library(httpuv) which is described as follows:
httpuv provides low-level socket and protocol support for handling HTTP and WebSocket requests directly from within R. It uses a multithreaded architecture, where I/O is handled on one thread, and the R callbacks are handled on another.