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

> Erstellt zwei BindableEvents, öffnet eine WebSocket client WebSocket connection zur übergebenen URL und yieldet, bis der Verbindungsversuch abgeschlossen ist. Bei Erfolg gibt die Funktion eine WebSocket table mit OnMessage und OnClose events, Send und Close methods aus der methods und internem connection state zurück. Eingehende message data wird als string über OnMessage gefeuert. Wenn die receive loop endet, wird OnClose ohne arguments gefeuert. Bei Verbindungsfehlern wirft die Funktion einen error string, der mit "WebSocket connection failed" beginnt.

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

  ## Aliase

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

  ## Argumente

  <ParamField path={"url"} type={"string"} required>
    URL string, der an CURLOPT\_URL übergeben wird, bevor WebSocket client den WebSocket connection attempt ausführt.
  </ParamField>

  ## Rückgaben

  <ResponseField name={"socket"} type={"WebSocket"}>
    WebSocket table mit OnMessage, OnClose und internem connection state. Send und Close werden über die WebSocket object methods aufgelöst.
  </ResponseField>

  ## Beispiel

  Öffne ein WebSocket, verbinde OnMessage und OnClose und nutze socket methods zum Senden und Schließen.

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