> ## 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

> Cria dois BindableEvents, abre uma WebSocket client WebSocket connection para a URL fornecida e faz yield até a tentativa de conexão terminar. Em caso de sucesso, retorna uma WebSocket table com events OnMessage e OnClose, methods Send e Close fornecidos pela methods, e um connection state. Incoming message data é disparada por OnMessage como string. Quando a receive loop termina, OnClose é disparado sem arguments. Em caso de falha de conexão, a função lança uma error string que começa com "WebSocket connection failed".

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

  ## Aliases

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

  ## Argumentos

  <ParamField path={"url"} type={"string"} required>
    URL string passada para CURLOPT\_URL antes de WebSocket client executar o WebSocket connection attempt.
  </ParamField>

  ## Retornos

  <ResponseField name={"socket"} type={"WebSocket"}>
    WebSocket table contendo OnMessage, OnClose e connection state. Send e Close são resolvidos pela WebSocket object methods.
  </ResponseField>

  ## Exemplo

  Abra um WebSocket, conecte OnMessage e OnClose, depois use socket methods para enviar e fechar.

  ```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>
