/// <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");
 }
示例#3
0
 // Start is called before the first frame update
 public void Initialize(NetworkManager_Server server, ClientDataContainer clientData)
 {
     clientDataContainer = clientData;
     Server = server;
 }