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

> Crée deux BindableEvents, ouvre une WebSocket client WebSocket connection vers l'URL fournie et yield jusqu'à la fin de la tentative de connexion. En cas de succès, elle renvoie une WebSocket table avec les events OnMessage et OnClose, les methods Send et Close fournis par la methods, et un connection state. Les incoming message data sont déclenchées with OnMessage sous forme de string. Quand la receive loop se termine, OnClose est déclenché sans arguments. En cas d'échec de connexion, la fonction lance un error string qui commence par "WebSocket connection failed".

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

  ## Alias

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

  ## Arguments

  <ParamField path={"url"} type={"string"} required>
    URL string transmise à CURLOPT\_URL avant que WebSocket client effectue le WebSocket connection attempt.
  </ParamField>

  ## Retours

  <ResponseField name={"socket"} type={"WebSocket"}>
    WebSocket table contenant OnMessage, OnClose et connection state. Send et Close sont résolus with la WebSocket object methods.
  </ResponseField>

  ## Exemple

  Ouvre un WebSocket, connecte OnMessage et OnClose, puis utilise les socket methods pour envoyer et fermer.

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