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

> Crea dos BindableEvents, abre una WebSocket client WebSocket connection hacia la URL proporcionada y hace yield hasta que termina el intento de conexión. Si tiene éxito, devuelve una WebSocket table con events OnMessage y OnClose, methods Send y Close proporcionados por la methods, y un connection state. Incoming message data se dispara mediante OnMessage como string. Cuando termina la receive loop, OnClose se dispara sin arguments. Si falla la conexión, la función lanza un error string que empieza con "WebSocket connection failed".

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

  ## Alias

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

  ## Argumentos

  <ParamField path={"url"} type={"string"} required>
    URL string que se pasa a CURLOPT\_URL antes de que WebSocket client ejecute el WebSocket connection attempt.
  </ParamField>

  ## Retornos

  <ResponseField name={"socket"} type={"WebSocket"}>
    WebSocket table que contiene OnMessage, OnClose e connection state. Send y Close se resuelven mediante la WebSocket object methods.
  </ResponseField>

  ## Ejemplo

  Abre un WebSocket, conecta OnMessage y OnClose, y usa socket methods para enviar y cerrar.

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