コード例 #1
0
        public static void NatifyResponse(NatNegServer server, byte[] recv)
        {
            InitPacket initPacket = new InitPacket(recv);

            byte[] sendingBuffer = initPacket.CreateReplyPacket();
            server.SendAsync(server.Socket.RemoteEndPoint, sendingBuffer);
        }
コード例 #2
0
        public static void AddressCheckResponse(NatNegServer server, UDPPacket packet)
        {
            InitPacket initPacket = new InitPacket(packet.BytesRecieved);

            byte[] sendingBuffer = initPacket.CreateReplyPacket();
            server.Send(packet, sendingBuffer);
        }
コード例 #3
0
        public static void ConnectResponse(NatNegServer server, UDPPacket packet)
        {
            ConnectPacket connectPacket = new ConnectPacket(packet.BytesRecieved);

            byte[] sendingBuffer = connectPacket.CreateReplyPacket();
            server.Send(packet, sendingBuffer);
        }
コード例 #4
0
        public static void ReportResponse(NatNegServer server, UDPPacket packet)
        {
            ReportPacket reportPacket = new ReportPacket(packet.BytesRecieved);

            byte[] sendingBuffer = reportPacket.CreateReplyPacket();
            server.Send(packet, sendingBuffer);
        }
コード例 #5
0
        public static void ReportResponse(NatNegServer server, byte[] recv)
        {
            ReportPacket reportPacket = new ReportPacket(recv);

            byte[] sendingBuffer = reportPacket.CreateReplyPacket();
            server.SendAsync(server.Socket.RemoteEndPoint, sendingBuffer);
        }
コード例 #6
0
        public static void ConnectResponse(NatNegServer server, byte[] recv)
        {
            ConnectPacket connectPacket = new ConnectPacket(recv);

            byte[] sendingBuffer = connectPacket.CreateReplyPacket();
            server.SendAsync(server.Socket.RemoteEndPoint, sendingBuffer);
        }
コード例 #7
0
 /// <summary>
 /// Starts a specific server
 /// </summary>
 /// <param name="cfg">The configuration of the specific server to run</param>
 protected override void StartServer(ServerConfiguration cfg)
 {
     if (cfg.Name == ServerName)
     {
         Server = new NatNegServer(cfg.Name, databaseDriver, IPAddress.Parse(cfg.Hostname), cfg.Port);
         LogWriter.Log.Write(LogLevel.Info, "|{0,-11}|{1,-14}|{2,-6}|", cfg.Name, cfg.Hostname, cfg.Port);
     }
 }
コード例 #8
0
 /// <summary>
 /// Starts a specific server
 /// </summary>
 /// <param name="cfg">The configuration of the specific server to run</param>
 protected override void StartServer(ServerConfig cfg)
 {
     if (cfg.Name == ServerName)
     {
         Server = new NatNegServer(IPAddress.Parse(cfg.ListeningAddress), cfg.ListeningPort).Start();
         Console.WriteLine(
             StringExtensions.FormatServerTableContext(cfg.Name, cfg.ListeningAddress, cfg.ListeningPort.ToString()));
     }
 }
コード例 #9
0
 /// <summary>
 /// Starts a specific server
 /// </summary>
 /// <param name="cfg">The configuration of the specific server to run</param>
 protected override void StartServer(ServerConfiguration cfg)
 {
     //if (cfg.Disabled)
     //    return;
     //LogWriter.Log.Write("Starting {2} server at  {0}:{1}.", LogLevel.Info, cfg.Hostname, cfg.Port, cfg.Name);
     //LogWriter.Log.Write("Maximum connections for {0} are {1}.", LogLevel.Info, cfg.Name, cfg.MaxConnections);
     if (cfg.Name == ServerName)
     {
         // case "GPCM":
         Server = new NatNegServer(cfg.Name, databaseDriver, new IPEndPoint(IPAddress.Parse(cfg.Hostname), cfg.Port), cfg.MaxConnections);
         LogWriter.Log.Write(LogLevel.Info, "|{0,-11}|{1,-14}|{2,-6}|{3,14}|", cfg.Name, cfg.Hostname, cfg.Port, cfg.MaxConnections);
     }
 }
コード例 #10
0
        public static void Switch(NatNegServer server, byte[] message)
        {
            BasePacket basePacket = new BasePacket(message);

            try
            {
                //BytesRecieved[7] is nnpacket.PacketType.
                switch (basePacket.PacketType)
                {
                case NatPacketType.PreInit:
                    //NatNegHandler.PreInitResponse(this, packet, nnpacket);
                    break;

                case NatPacketType.Init:
                    InitHandler.InitResponse(server, message);
                    break;

                case NatPacketType.AddressCheck:
                    AddressHandler.AddressCheckResponse(server, message);
                    break;

                case NatPacketType.NatifyRequest:
                    NatifyHandler.NatifyResponse(server, message);
                    break;

                case NatPacketType.ConnectAck:
                    ConnectHandler.ConnectResponse(server, message);
                    break;

                case NatPacketType.Report:
                    ReportHandler.ReportResponse(server, message);
                    break;

                default:
                    server.UnknownDataRecived(message);
                    break;
                }
            }
            catch (Exception e)
            {
                LogWriter.Log.WriteException(e);
            }
        }