RemoteEvent
RemoteEvent : Instance
Overview
RemoteEvent는 클라이언트와 서버 간 이벤트 처리를 위해 제공되는 객체로, 비동기 단방향 통신을 지원합니다.
이 인스턴스는 서버와 클라이언트 양쪽에서 접근할 수 있어야 하므로, ReplicatedStorage나 Workspace처럼 공유 가능한 위치에 배치하는 것이 적절합니다.
Properties
Methods
FireServer
클라이언트에서 서버의 RemoteEvent에 연결된 이벤트를 실행할 때 사용하는 메서드입니다.
이벤트가 호출되면, 연결된 함수는 첫 번째 인자에 해당 요청을 보낸 클라이언트의 Player 객체를 받게 됩니다.
Parameters
Tuple
Arguments
RemoteEvent의 OnServerEvent에 연결된 함수로 전달되는 인자입니다.
number, boolean, string, table 등 Luau의 기본 자료형을 전달할 수 있습니다.
Instance 같은 객체도 전달할 수 있습니다.
모든 데이터 타입이 완전히 지원되는 것은 아니기 때문에, 사용 전 실제 동작을 확인해보는 것이 좋습니다.
Return
void
Code Samples
-- 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)
FireClient
서버에서 특정 클라이언트의 RemoteEvent에 연결된 이벤트를 실행할 때 사용하는 메서드입니다.
대상 클라이언트를 지정하기 위해 Player 인자를 반드시 전달해야 합니다.
모든 클라이언트를 대상으로 이벤트를 실행하는 경우에는 FireAllClients()를 사용하는 것이 더 적합합니다.
Parameters
Player
Player
클라이언트의 이벤트를 실행할 Player입니다.
Tuple
Arguments
RemoteEvent의 OnClientEvent에 연결된 함수로 전달되는 인자입니다.
number, boolean, string, table 등 Luau의 기본 자료형을 전달할 수 있습니다.
Instance 같은 객체도 전달할 수 있습니다.
모든 데이터 타입이 완전히 지원되는 것은 아니기 때문에, 사용 전 실제 동작을 확인해보는 것이 좋습니다.
Return
void
Code Samples
-- 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)
FireAllClients
서버에서 모든 클라이언트의 RemoteEvent에 연결된 이벤트를 실행할 때 사용하는 메서드입니다.
모든 클라이언트를 대상으로 하기 때문에 Player 인자를 지정하지 않습니다.
Parameters
Tuple
Arguments
RemoteEvent의 OnClientEvent에 연결된 함수로 전달되는 인자입니다.
number, boolean, string, table 등 Luau의 기본 자료형을 전달할 수 있습니다.
Instance 같은 객체도 전달할 수 있습니다.
모든 데이터 타입이 완전히 지원되는 것은 아니기 때문에, 사용 전 실제 동작을 확인해보는 것이 좋습니다.
Return
void
Code Samples
-- 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)
Events
OnClientEvent
RemoteEvent 인스턴스에서 FireClient() 또는 FireAllClients()가 호출되면 해당 인스턴스의 OnClientEvent에 연결된 모든 함수가 실행되며, 호출 시 전달된 인자는 연결된 함수로 그대로 전달됩니다.
Parameters
Code Samples
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
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
서버-클라 통신Last updated