Guest User

Untitled

a guest
Nov 24th, 2017
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.85 KB | None | 0 0
  1.         private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
  2.         {
  3.             TcpListener tcp = new TcpListener(System.Net.IPAddress.Any, port);
  4.             tcp.Start();
  5.             bw1.ReportProgress(0, "Local end point: " + tcp.Server.LocalEndPoint.ToString());
  6.             bw1.ReportProgress(0, "Listening on port " + port);
  7.             while (true)
  8.             {
  9.                 try
  10.                 {
  11.                     TcpClient t = tcp.AcceptTcpClient();
  12.                     if (t.Connected)
  13.                     {
  14.                         bw1.ReportProgress(0, "Accepted connection from " + t.Client.RemoteEndPoint.ToString());
  15.                         DataStream ds = new DataStream(t.GetStream());
  16.                         String user = ds.readString();
  17.                         String pass = ds.readString();
  18.                         bw1.ReportProgress(0, "User: " + user + " : ********");
  19.                         Boolean auth = isAuthenticated(user, pass);
  20.                         bw1.ReportProgress(0, "User " + (auth ? "accepted" : "unauthorized"));
  21.                         if (auth)
  22.                             ds.writeString("OK");
  23.                         else
  24.                             ds.writeString("NOTOK");
  25.                         int c = getClientIndex();
  26.                         if (c < 0) {
  27.                             bw1.ReportProgress(0, "Max clients connected");
  28.                             ds.writeString("Max clients connected");
  29.                             t.Close();
  30.                             continue;
  31.                         }
  32.                         clients[c] = new Client(this, bw1, t, user);
  33.                     }
  34.                 }
  35.                 catch (Exception)
  36.                 {
  37.                     //bw1.ReportProgress(0, ex.Message);
  38.                 }
  39.                 System.Threading.Thread.Sleep(50);
  40.             }
  41.         }
Add Comment
Please, Sign In to add comment