35 lines
1.2 KiB
C#
35 lines
1.2 KiB
C#
|
using System.Collections.Generic;
|
||
|
using UnityEngine;
|
||
|
using System.Net;
|
||
|
|
||
|
namespace NeonTea.Quakeball.Net.Peers {
|
||
|
public class Server : Peer {
|
||
|
|
||
|
private static uint ConnectionUUIDCounter;
|
||
|
private Dictionary<IPEndPoint, Connection> Connections = new Dictionary<IPEndPoint, Connection>();
|
||
|
|
||
|
public override void OnStart(string host, int port) {
|
||
|
MainConnection.Status = ConnectionStatus.Ready;
|
||
|
Debug.Log($"Server started at {host}:{port}!");
|
||
|
}
|
||
|
|
||
|
public override void OnStop(DisconnectReason reason) {
|
||
|
Debug.Log($"Server closed: {reason.Description}");
|
||
|
}
|
||
|
|
||
|
public override void HandlePacket(IPEndPoint endpoint, ByteReader reader) {
|
||
|
if (Connections.ContainsKey(endpoint)) {
|
||
|
Debug.Log("Got stuff from an existing connection!");
|
||
|
} else {
|
||
|
Connections.Add(endpoint, new Connection(endpoint));
|
||
|
Debug.Log($"Initialized new connection from {endpoint.ToString()}");
|
||
|
}
|
||
|
}
|
||
|
|
||
|
private Connection AddConnection(IPEndPoint endpoint) {
|
||
|
Connection conn = new Connection(endpoint);
|
||
|
Connections.Add(endpoint, conn);
|
||
|
return conn;
|
||
|
}
|
||
|
}
|
||
|
}
|