/// <summary> /// Starting the server channel, In this method we waited for new /// clients and accept them in a new thread /// </summary> public void Start() { IPEndPoint ep = new IPEndPoint(IPAddress.Parse(_ip), _port); this._listener = new TcpListener(ep); this._listener.Start(); Task task = new Task(() => { while (_running) { try { TcpClient client = this._listener.AcceptTcpClient(); ClientHandler newclient = new ClientHandler(client); newclient.Start(); Clients.Add(newclient); // add new clientHandler to the list System.Threading.Thread.Sleep(500); // invoke this event in order to get logs and settings NewHandler?.Invoke(this, new NewClientEventArgs(client)); } catch (SocketException e) { Console.WriteLine(e.Message); Close(); } } }); task.Start(); }
public static int Run(string[] args) { if (args.Length == 0 || args.Length == 1) { return(ErrorHandler.printHelpInfo()); } else { switch (args[1]) { case "new": return(NewHandler.PrintHelpMenu()); case "list": return(ListHandler.PrintHelpMenu()); case "update": return(UpdateHandler.PrintHelpMenu()); case "delete": return(DeleteHandler.PrintHelpMenu()); case "launch": return(LaunchHandler.PrintHelpMenu()); default: return(ErrorHandler.printHelpInfo()); } } }
public unsafe void ShouldParse(string json) { byte[] bytes = Encoding.UTF8.GetBytes(json); fixed(byte *p = bytes) { var pctx = new ParseContext(p, bytes.Length); var stub = new AccountStub(); Assert.That(NewHandler.TryParseAccount(ref pctx, stub), Is.EqualTo(201)); } }
public unsafe void Should_parse_json() { var body = new { id = 123, email = "*****@*****.**", status = @"\u0432\u0441\u0451 \u0441\u043b\u043e\u0436\u043d\u043e", sex = "m", fname = "Jury", sname = "Soldatenkov", interests = new[] { "sex", "drugs", "rock'n'roll" }, likes = new object[] { new { id = 245, ts = 123533214 }, new { id = 123, ts = 123532514 }, }, premium = new { start = 1000, finish = 2000 } }; var stringBody = JsonConvert.SerializeObject(body); byte[] bytes = Encoding.UTF8.GetBytes(stringBody); fixed(byte *p = &bytes[0]) { ParseContext pctx = new ParseContext(p, bytes.Length); byte[] idBytes = Encoding.UTF8.GetBytes("123"); Console.WriteLine(stringBody); Console.WriteLine((byte)','); Console.WriteLine(string.Join(" ", bytes)); Console.WriteLine(string.Join(" ", idBytes)); var account = new AccountStub(); var result = NewHandler.TryParseAccount(ref pctx, account); Assert.That(result, Is.EqualTo(201)); Assert.That(account.id, Is.EqualTo(body.id)); Assert.That(account.email, Is.EqualTo(body.email)); Assert.That(account.sexStatus.IsMale(), Is.True); //Assert.That(account.fname, Is.EqualTo(body.fname)); Assert.That(account.sname, Is.EqualTo(body.sname)); //CollectionAssert.AreEquivalent(account.interests, body.interests); Assert.That(account.likes.Count, Is.EqualTo(body.likes.Length)); Assert.That(account.premium.start, Is.EqualTo(body.premium.start)); Assert.That(account.premium.finish, Is.EqualTo(body.premium.finish)); } }