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

> تنشئ BindableEvents عددها اثنان، وتفتح WebSocket client WebSocket connection إلى URL المقدم، وتعمل yield حتى تنتهي محاولة الاتصال. عند النجاح، تعيد WebSocket table تحتوي OnMessage و OnClose events، و Send و Close methods من methods، و connection state. يتم إطلاق incoming message data عبر OnMessage كسلسلة string. عندما تنتهي receive loop، يتم إطلاق OnClose بدون arguments. عند فشل الاتصال، ترفع الدالة error string يبدأ بـ "WebSocket connection failed".

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

  ## أسماء بديلة

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

  ## الوسائط

  <ParamField path={"url"} type={"string"} required>
    URL string يتم تمريره إلى CURLOPT\_URL قبل أن ينفذ WebSocket client محاولة WebSocket connection.
  </ParamField>

  ## القيم الراجعة

  <ResponseField name={"socket"} type={"WebSocket"}>
    WebSocket table تحتوي OnMessage و OnClose و connection state. يتم حل Send و Close عبر WebSocket object methods.
  </ResponseField>

  ## مثال

  افتح WebSocket، اربط OnMessage و OnClose، ثم استخدم socket methods للإرسال والإغلاق.

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