diff --git a/src/pysignalr/transport/websocket.py b/src/pysignalr/transport/websocket.py index 34a57e6..1c19936 100644 --- a/src/pysignalr/transport/websocket.py +++ b/src/pysignalr/transport/websocket.py @@ -148,7 +148,10 @@ async def _set_state(self, state: ConnectionState) -> None: self._state = state async def _get_connection(self) -> WebSocketClientProtocol: - await self._connected.wait() + try: + await asyncio.wait_for(self._connected.wait(), self._connection_timeout) + except asyncio.TimeoutError as e: + raise RuntimeError('The socket was never run') from e if not self._ws or self._ws.state != State.OPEN: raise RuntimeError('Connection is closed') return self._ws