Example #1
0
            new Dictionary <int, RSN_Server_CallbackConfig>(); //Stores data parse types.

        public static RSN_Server CreateServer(RSN_Server_CallbackConfig[] callbacks, string password, Int32 port)
        {
            RSN_Server ser = new RSN_Server();

            ser.password = password;
            TcpListener server    = null;              //Create a place for the server
            IPAddress   localAddr = IPAddress.Any;     //Setup the listening IP.

            server = new TcpListener(localAddr, port); //Create listener
            server.Start();
            ser.server = server;

            //Look for new clients
            ser.server.BeginAcceptTcpClient(new AsyncCallback(ser.OnNewClient), ser.server);

            //Add new callbacks
            foreach (var c in callbacks)
            {
                ser.registeredDataTypes.Add(c.id, c);
            }

            //Create the get thread
            var getThread = new System.Threading.Thread(new System.Threading.ThreadStart(ser.GetThread));

            getThread.Start();


            return(ser);
        }
Example #2
0
        public void Respond <T>(T obj)
        {
            //Serialize
            string data = RSN_Tools.SerializeObject(obj);

            //Create a response packet and send.
            RSN_Server.SendDataToClient(client.stream, data, packet.id, packet.parseType, type: RSN_PacketType.EncodedMessage);
        }