Advertisement
Guest User

Untitled

a guest
Jun 9th, 2017
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.03 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Net;
  5. using System.Net.Sockets;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8. using libProjectAbandonware;
  9. using libShadSockets.Server;
  10.  
  11. namespace ProjectAbandonwareServer
  12. {
  13.     class Program
  14.     {
  15.         static Dictionary<string, Socket> Userlist = new Dictionary<string, Socket>();
  16.         static Server server;
  17.         static void Main(string[] args)
  18.         {
  19.             server = new Server("127.0.0.1", 20510);
  20.             server.OnConnect += OnConnectServer;
  21.             server.OnReceived += OnDataReceived;
  22.         }
  23.  
  24.         private static void OnDataReceived(object sender, Server.DataReceivedEventArgs e)
  25.         {
  26.             var obj = e.Received;
  27.             if (obj is AuthToken token)
  28.             {
  29.                 using(var ctx = new UserContext())
  30.                 {
  31.                     token.IsAuthentificated = ctx.Users.Where(user => user.UserName == token.Username && user.UserPass == token.Password).Count() == 1;
  32.                     if (token.IsAuthentificated) Userlist.Add(token.Username, e.SocketReceived);
  33.                     server.Send(e.SocketReceived, token);
  34.                 }
  35.             }
  36.             if(obj is Search search)
  37.             {
  38.                 using(var ctx = new GameContext())
  39.                 {
  40.                     search.SearchResult = ctx.Games.Where(g => g.GameName.Contains(search.SearchName)).ToList();
  41.                     server.Send(e.SocketReceived, search);
  42.                 }
  43.             }if(obj is NewsSearch news)
  44.             {
  45.                 using (var ctx = new NewsContext())
  46.                 {
  47.                     news.NewsList = ctx.Newses.Where(n => n.NewsTitle.Contains(news.NewsFilter)).ToList();
  48.                     server.Send(e.SocketReceived, news);
  49.                 }
  50.             }
  51.         }
  52.  
  53.         private static void OnConnectServer(object sender, Server.ConnectEventArgs e)
  54.         {
  55.             Console.WriteLine("New Socket Connected !");
  56.         }
  57.     }
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement