> ## 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 จะถูก Fire ผ่าน OnMessage เป็น string เมื่อ receive loop จบ OnClose จะถูก Fire โดยไม่มี arguments หากเชื่อมต่อล้มเหลว ฟังก์ชันจะ throw error string ที่ขึ้นต้นด้วย "WebSocket connection failed"

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

  ## Aliases

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

  ## Arguments

  <ParamField path={"url"} type={"string"} required>
    URL string ที่ส่งให้ CURLOPT\_URL ก่อนที่ WebSocket client จะทำ WebSocket connection attempt
  </ParamField>

  ## Returns

  <ResponseField name={"socket"} type={"WebSocket"}>
    WebSocket table ที่มี OnMessage, OnClose และ connection state Send และ Close ถูก resolve ผ่าน 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>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.