Esempio n. 1
0
        static int Main(string[] args)
        {
            var listenConfig = ListenConfigModel.GetDefaults();
            var userProvider = UserProvider.GetDefaults(10);
            var server       = new ServerWrapper(listenConfig, userProvider);

            try
            {
                server.Listen();
            }
            catch (Exception e)
            {
                SocketObject.GlobalLog($"Fatal exception: {e.Message}");
                return(-1);
            }

            return(0);
        }
        public ServerWrapper(ListenConfigModel config, IAuthProviderModel <UserModel> userProvider) :
            base(config, userProvider)
        {
            this.OnAuthConnectionEvent += (connection, identity) =>
            {
                this.Log($"Handshake with {identity.AuthToken}");
            };

            this.OnContentReceivedEvent += (connection, identity, clientPacket) =>
            {
                // echo content
                var serverPacket = new ServerPacketModel
                {
                    dynamicServerContent = clientPacket.dynamicClientContent
                };
                connection.SendPacket(serverPacket);

                // we can also broadcast to others
                // foreach (var activeConnection in this.activeConnections)
                // {
                //     activeConnection.Key.SendPacket(serverPacket);
                // }
            };
        }