> ## Documentation Index
> Fetch the complete documentation index at: https://docs.projectreal.gg/llms.txt
> Use this file to discover all available pages before exploring further.

# WebSocket.connect

> Tworzy dwa BindableEvents, otwiera WebSocket client WebSocket connection do podanego URL i wykonuje yield do zakończenia próby połączenia. Po sukcesie zwraca WebSocket table z events OnMessage i OnClose, methods Send i Close dostarczanymi przez methods oraz connection state. Incoming message data jest wywoływane przez OnMessage jako string. Gdy receive loop się kończy, OnClose jest wywoływane bez arguments. Przy błędzie połączenia funkcja rzuca error string zaczynający się od "WebSocket connection failed".

<div className="real-function-page">
  ```lua theme={null}
  WebSocket.connect(url: string): WebSocket
  ```

  ## Aliasy

  * `WebSocket.Connect`
  * `websocket.connect`
  * `websocket.Connect`

  ## Argumenty

  <ParamField path={"url"} type={"string"} required>
    URL string przekazywany do CURLOPT\_URL przed wykonaniem WebSocket connection attempt przez WebSocket client.
  </ParamField>

  ## Zwroty

  <ResponseField name={"socket"} type={"WebSocket"}>
    WebSocket table zawierająca OnMessage, OnClose i connection state. Send i Close są rozwiązywane przez WebSocket object methods.
  </ResponseField>

  ## Przykład

  Otwórz WebSocket, podłącz OnMessage i OnClose, a następnie użyj socket methods do wysyłania i zamykania.

  ```lua theme={null}
  local socket = WebSocket.connect("wss://example.com/socket")

  socket.OnMessage:Connect(function(message)
      print(message)
  end)

  socket.OnClose:Connect(function()
      print("closed")
  end)

  socket:Send("hello")
  socket:Close()
  ```
</div>
