PSWebSockets opened by PSWebSocketServer don't have any delegateQueue set. That means they call their delegate methods on the main thread. This doesn't affect the client directly, because those delegate calls get handled by the server and dispatched to its delegate on a different queue; however it means that if the main thread is busy, those delegate calls will get delayed or blocked. It would be better to avoid going through the main queue at all.
PSWebSockets opened by PSWebSocketServer don't have any delegateQueue set. That means they call their delegate methods on the main thread. This doesn't affect the client directly, because those delegate calls get handled by the server and dispatched to its delegate on a different queue; however it means that if the main thread is busy, those delegate calls will get delayed or blocked. It would be better to avoid going through the main queue at all.