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

> 2 つの BindableEvents を作成し、指定された URL への WebSocket client WebSocket connection を開き、接続試行が完了するまで yield します。成功すると、OnMessage と OnClose events、methods から提供される Send と Close methods、connection state を持つ WebSocket table を返します。incoming message data は string として OnMessage から Fire されます。receive loop が終了すると、OnClose は arguments なしで Fire されます。接続に失敗すると、この関数は "WebSocket connection failed" で始まる error string を発生させます。

<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>
    WebSocket client が WebSocket connection attempt を実行する前に CURLOPT\_URL に渡される URL string。
  </ParamField>

  ## 戻り値

  <ResponseField name={"socket"} type={"WebSocket"}>
    OnMessage、OnClose、connection state を含む WebSocket table。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>
