/// <summary> /// Launch Server System. Start Listen on TcpPortNum. /// </summary> public void LaunchNetworkServer() { buffer = new byte[buffersize]; RepObjPairs = new Dictionary <int, ReplicatiorBase>(); RepObjects = new List <ReplicatiorBase>(); ClientDataList = new List <ClientDataContainer>(); ObjIdBuffer = 0; NetIdBuffer = 1; try { listener = new TcpListener(IPAddress.Any, TcpPortNum); listener.Start(); InvokeRepeating("CheckForNewClient", ServerAcceptInterval, ServerAcceptInterval); InvokeRepeating("ServerTick", ServerUpdateInterval, ServerUpdateInterval); Debug.Log("Launch Server Successfully!"); } catch { Debug.Log("Couldnt Launch Server"); return; } UdpSocket = new UdpClient(UdpPortNum); server = this; LocalInst = this; }
public void ShutDownServer() { buffer = null; listener.Stop(); listener = null; UdpSocket.Close(); UdpSocket = null; server = null; LocalInst = null; CancelInvoke(); ClientDataList.ForEach((c) => { SendTcpPacket(c, encoding.GetBytes("End")); c.TcpSocket.Close(); }); ClientDataList.Clear(); RepObjPairs.Clear(); RepObjPairs = null; RepObjects.Clear(); RepObjects = null; Debug.Log("ShutDown Server"); }
// Start is called before the first frame update public void Initialize(NetworkManager_Server server, ClientDataContainer clientData) { clientDataContainer = clientData; Server = server; }