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

> Membuat dua BindableEvents, membuka WebSocket client WebSocket connection ke URL yang diberikan, dan melakukan yield sampai percobaan koneksi selesai. Saat berhasil, fungsi mengembalikan WebSocket table dengan event OnMessage dan OnClose, method Send dan Close dari methods, serta connection state. Incoming message data di-fire melalui OnMessage sebagai string. Saat receive loop selesai, OnClose di-fire tanpa arguments. Saat koneksi gagal, fungsi melempar error string yang diawali dengan "WebSocket connection failed".

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

  ## Alias

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

  ## Argumen

  <ParamField path={"url"} type={"string"} required>
    URL string yang diteruskan ke CURLOPT\_URL sebelum WebSocket client menjalankan WebSocket connection attempt.
  </ParamField>

  ## Return

  <ResponseField name={"socket"} type={"WebSocket"}>
    WebSocket table yang berisi OnMessage, OnClose, dan connection state. Send dan Close diselesaikan melalui WebSocket object methods.
  </ResponseField>

  ## Contoh

  Buka WebSocket, hubungkan OnMessage dan OnClose, lalu gunakan socket methods untuk mengirim dan menutup.

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