Example #1
0
        public LobbyMainWin()
        {
            InitializeComponent();

            server           = new SocketWrapper();
            server.OnAccept += new SocketWrapper.dlgAccept(server_OnAccept);
            server.OnClose  += new SocketWrapper.dlgClose(server_OnClose);
            server.OnRead   += new SocketWrapper.dlgRead(PacketProcessor);

            Logger l = new Logger(tLog);

            //listClients.ItemsSource = clients;

            MapDB.Load("Data\\MapList.bin");
            DigimonDB.Load("Data\\DigimonList.bin");

            Opt = Settings.Deserialize();

            Console.WriteLine("This server is configured to route players to the game server at {0}:{1}",
                              Opt.GameServer.Host, Opt.GameServer.Port);
            if (Opt.LobbyServer.AutoStart)
            {
                server.Listen(new ServerInfo(Opt.LobbyServer.Port, Opt.LobbyServer.IP));
                sbInfo1.Content = "Starting Lobby Server...";
            }
        }
        public void Setup()
        {
            _endpoint = new IPEndPoint(IPAddress.Loopback, 45982);
            _client = new Socket(_endpoint.AddressFamily, SocketType.Stream, ProtocolType.IP);

            _wrapper = new SocketWrapper(_client);
            _wrapper.Bind(_endpoint);
            _wrapper.Listen(100);
        }
Example #3
0
        public void Setup()
        {
            _endpoint = new IPEndPoint(IPAddress.Loopback, 45982);
            _client   = new Socket(_endpoint.AddressFamily, SocketType.Stream, ProtocolType.IP);

            _wrapper = new SocketWrapper(_client);
            _wrapper.Bind(_endpoint);
            _wrapper.Listen(100);
        }
Example #4
0
 private void btnStart_Click(object sender, RoutedEventArgs e)
 {
     if (server.Running)
     {
         return;
     }
     server.Listen(new ServerInfo(Opt.LobbyServer.Port, Opt.LobbyServer.IP));
     sbInfo1.Content = "Starting Lobby Server...";
 }
Example #5
0
        internal void Start()
        {
            var socket = new SocketWrapper(new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp));

            socket.Bind(new IPEndPoint(IPAddress.Parse(Config.Current.IpAddress), Config.Current.ListenPort));
            socket.Listen(Config.Current.MaxPendingConnections);

            var thread = new Thread(this.Communication_ListenIncoming);

            thread.Start(socket);
        }
Example #6
0
        private void btnStart_Click(object sender, RoutedEventArgs e)
        {
            if (server.Running)
            {
                return;
            }
            ServerInfo info = new ServerInfo(Opt.AuthServer.Port,
                                             Opt.AuthServer.IP);

            server.Listen(info);
        }
Example #7
0
        public AuthMainWin()
        {
            InitializeComponent();

            server           = new SocketWrapper();
            server.OnAccept += new SocketWrapper.dlgAccept(m_auth_OnAccept);
            server.OnRead   += new SocketWrapper.dlgRead(m_auth_OnRead);
            server.OnClose  += new SocketWrapper.dlgClose(server_OnClose);

            Logger _writer = new Logger(tLog);

            Opt = Settings.Deserialize();
            if (Opt.AuthServer.AutoStart)
            {
                ServerInfo info = new ServerInfo(Opt.AuthServer.Port, Opt.AuthServer.IP);
                server.Listen(info);
            }
        }
Example #8
0
        private void Observe(object o)
        {
            try
            {
                //Starts listening
                server.Listen(new ServerInfo(Opt.GameServer.Port, Opt.GameServer.IP));

                //Starts monitoring the client list
                ThreadPool.QueueUserWorkItem(new WaitCallback(Monitor));

                while (true)
                {
                }
            }
            catch (ThreadAbortException)
            {
                server.Stop();
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
Example #9
0
        private void Button_Click_1(object sender, RoutedEventArgs e)
        {
            if (serversRunning != 0)
            {
                return;
            }

            Interlocked.Increment(ref serversRunning);

            // Server start
            serverTaskMain = new Task(() =>
            {
                // Server setup
                SocketWrapper[] listenSocketArr = new SocketWrapper[1];
                uint q = SocketsWrapper.Socket(AddressFamily.QCC_AF_INET, SocketType.QCC_SOCK_STREAM, listenSocketArr);
                SocketWrapper listenSocket = listenSocketArr[0];

                q = listenSocket.Bind("0.0.0.0", Port);
                q = listenSocket.Listen(10);

                for (int s = 0; s < Servers; s++)
                {
                    if (s != 0)
                    {
                        Interlocked.Increment(ref serversRunning);
                    }
                    _serverTasks[s] = new Task(() =>
                    {
                        string[] remoteAddr          = new string[1];
                        int[] remotePort             = new int[1];
                        SocketWrapper[] newSocketArr = new SocketWrapper[1];

                        while (listenSocket.Accept(remoteAddr, remotePort, newSocketArr) == 0)
                        {
                            int bytesLeft = PatternLength;
                            int byteCount = 0;
                            using (SocketWrapper newSocket = newSocketArr[0])
                            {
                                int[] sentArr = new int[1];
                                while (bytesLeft != 0)
                                {
                                    byte[] tempBytes = new byte[Math.Min(bytesLeft, MaxSendBuffer)];
                                    for (int i = 0; i < tempBytes.Length; i++)
                                    {
                                        tempBytes[i] = (byte)((i + byteCount) % 256);
                                    }
                                    q = newSocket.Send(tempBytes, tempBytes.Length, sentArr);
                                    if (q != 0)
                                    {
                                        break;
                                    }
                                    byteCount += sentArr[0];
                                    bytesLeft -= sentArr[0];
                                }
                            }
                        }

                        Interlocked.Decrement(ref serversRunning);
                    });
                    _serverTasks[s].Start();
                }
            });
            serverTaskMain.Start();
        }