Skip to content

Server Example

Starplayer39 edited this page Jan 22, 2023 · 1 revision
void RunAsServer()
{
    NetworkRunner runner = new NetworkRunner(Constant.NetworkRunningType.Server);
    runner.ServerRunner.OnStart += () => Console.WriteLine($"Starting server ... ({runner.ServerRunner.ServerIPAddress} / {runner.ServerRunner.Port})");
    runner.ServerRunner.OnStop += () => Console.WriteLine("Stopping server ...");
    runner.ServerRunner.OnClientConnected += (uint id) =>
    {
        Console.WriteLine($"Client(with id: {id}) connected.");                
    };
    runner.ServerRunner.OnClientDisconnected += (uint id) => Console.WriteLine($"Client(with id: {id}) disconnected.");
    runner.ServerRunner.OnDataReceivedFromClient += (int readBytes, ReadablePacket readable) =>
    {
        string received = readable.ReadString();
        Console.WriteLine($"[received]: {received}");
    };
    runner.ServerRunner.Run();

    string input = String.Empty;            

    while (input != "exit")
    {
        input = Console.ReadLine();

        var writable = PacketPacker.GetWritablePacket();
        writable.Write(input);

        runner.ServerRunner.Broadcast(writable);
    }

    runner.ServerRunner.Stop();
}

Clone this wiki locally