> For the complete documentation index, see [llms.txt](https://docs.overdare.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.overdare.com/korean/development/api-reference/classes/remoteevent.md).

# RemoteEvent

RemoteEvent : `Instance`

## Overview

RemoteEvent는 클라이언트와 서버 간 이벤트 처리를 위해 제공되는 객체로, 비동기 단방향 통신을 지원합니다.

이 인스턴스는 서버와 클라이언트 양쪽에서 접근할 수 있어야 하므로, ReplicatedStorage나 Workspace처럼 공유 가능한 위치에 배치하는 것이 적절합니다.

## Properties

## Methods

### FireAllClients

서버에서 모든 클라이언트의 RemoteEvent에 연결된 이벤트를 실행할 때 사용하는 메서드입니다.

모든 클라이언트를 대상으로 하기 때문에 Player 인자를 지정하지 않습니다.

#### Parameters

| `Tuple` Arguments | <p>RemoteEvent의 OnClientEvent에 연결된 함수로 전달되는 인자입니다.</p><ul><li>number, boolean, string, table 등 Luau의 기본 자료형을 전달할 수 있습니다.</li><li>Instance 같은 객체도 전달할 수 있습니다.</li><li>모든 데이터 타입이 완전히 지원되는 것은 아니기 때문에, 사용 전 실제 동작을 확인해보는 것이 좋습니다.</li></ul> |
| ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

#### Return

| `void` |   |
| ------ | - |

#### Code Samples

```lua
-- Script
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local S2C_DeadEvent = ReplicatedStorage:WaitForChild("S2C_DeadEvent")

local function EnterPlayer(player)
    local SomeText = "FireAllClients"
    S2C_DeadEvent:FireAllClients(SomeText) -- Passing arguments
end
Players.PlayerAdded:Connect(EnterPlayer)


-----------------------------------------------------------------------------------
-- LocalScript
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local S2C_DeadEvent = ReplicatedStorage:WaitForChild("S2C_DeadEvent")

local function OnDeadEvent(text)
    print("[OnDeadEvent]", "Parameter : ", text)
end
S2C_DeadEvent.OnClientEvent:Connect(OnDeadEvent)
```

### FireClient

서버에서 특정 클라이언트의 RemoteEvent에 연결된 이벤트를 실행할 때 사용하는 메서드입니다.

대상 클라이언트를 지정하기 위해 Player 인자를 반드시 전달해야 합니다.

모든 클라이언트를 대상으로 이벤트를 실행하는 경우에는 FireAllClients()를 사용하는 것이 더 적합합니다.

#### Parameters

| `Player` Player   | 클라이언트의 이벤트를 실행할 Player입니다.                                                                                                                                                                                                                |
| ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Tuple` Arguments | <p>RemoteEvent의 OnClientEvent에 연결된 함수로 전달되는 인자입니다.</p><ul><li>number, boolean, string, table 등 Luau의 기본 자료형을 전달할 수 있습니다.</li><li>Instance 같은 객체도 전달할 수 있습니다.</li><li>모든 데이터 타입이 완전히 지원되는 것은 아니기 때문에, 사용 전 실제 동작을 확인해보는 것이 좋습니다.</li></ul> |

#### Return

| `void` |   |
| ------ | - |

#### Code Samples

```lua
-- Script
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local S2C_DeadEvent = ReplicatedStorage:WaitForChild("S2C_DeadEvent")

local SomeText = "FireClient"

local function EnterPlayer(player)
    S2C_DeadEvent:FireClient(player, SomeText) -- Passing arguments
end
Players.PlayerAdded:Connect(EnterPlayer)


-----------------------------------------------------------------------------------
-- LocalScript
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local S2C_DeadEvent = ReplicatedStorage:WaitForChild("S2C_DeadEvent")

local function OnDeadEvent(text)
    print("[OnDeadEvent]", "Parameter : ", text)
end
S2C_DeadEvent.OnClientEvent:Connect(OnDeadEvent)
```

### FireServer

클라이언트에서 서버의 RemoteEvent에 연결된 이벤트를 실행할 때 사용하는 메서드입니다.

이벤트가 호출되면, 연결된 함수는 첫 번째 인자에 해당 요청을 보낸 클라이언트의 Player 객체를 받게 됩니다.

#### Parameters

| `Tuple` Arguments | <p>RemoteEvent의 OnServerEvent에 연결된 함수로 전달되는 인자입니다.</p><ul><li>number, boolean, string, table 등 Luau의 기본 자료형을 전달할 수 있습니다.</li><li>Instance 같은 객체도 전달할 수 있습니다.</li><li>모든 데이터 타입이 완전히 지원되는 것은 아니기 때문에, 사용 전 실제 동작을 확인해보는 것이 좋습니다.</li></ul> |
| ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

#### Return

| `void` |   |
| ------ | - |

#### Code Samples

```lua
-- LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local C2S_EnterPlayer = ReplicatedStorage:WaitForChild("C2S_EnterPlayer")

local SomeNumber = 10
C2S_EnterPlayer:FireServer(SomeNumber) -- Passing arguments


-----------------------------------------------------------------------------------
-- Script
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local C2S_EnterPlayer = ReplicatedStorage:WaitForChild("C2S_EnterPlayer")

local function OnEnterPlayer(player, number)
    print("[OnEnterPlayer]", player.Name, " / Parameter : ", number)
end
C2S_EnterPlayer.OnServerEvent:Connect(OnEnterPlayer)
```

## Events

### OnClientEvent

RemoteEvent 인스턴스에서 FireClient() 또는 FireAllClients()가 호출되면 해당 인스턴스의 OnClientEvent에 연결된 모든 함수가 실행되며, 호출 시 전달된 인자는 연결된 함수로 그대로 전달됩니다.

#### Parameters

#### Code Samples

```lua
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local S2C_DeadEvent = ReplicatedStorage:WaitForChild("S2C_DeadEvent")

local function OnDeadEvent(text)
    print("[OnDeadEvent]", "Parameter : ", text)
end
S2C_DeadEvent.OnClientEvent:Connect(OnDeadEvent)
```

### OnServerEvent

RemoteEvent 인스턴스에서 FireServer()가 호출되면 해당 인스턴스의 OnServerEvent에 연결된 모든 함수가 실행되며, 호출 시 전달된 인자는 연결된 함수로 그대로 전달됩니다.

#### Parameters

#### Code Samples

```lua
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local C2S_EnterPlayer = ReplicatedStorage:WaitForChild("C2S_EnterPlayer")

local function OnEnterPlayer(player, number)
    print("[OnEnterPlayer]", player.Name, " / Parameter : ", number)
end
C2S_EnterPlayer.OnServerEvent:Connect(OnEnterPlayer)
```

## See also

{% content-ref url="/pages/rznBJB0DomrXzxffvYtu" %}
[서버-클라 통신](/korean/manual/script-manual/events-and-communication/remoteevent.md)
{% endcontent-ref %}
