1
0
Fork 0
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

65 lines
2.5 KiB

using PhilExampleCrawler.Common.TCP.Packets;
using PhilExampleCrawler.Core.Abstractions.Interfaces;
using PhilExampleCrawler.TCPAPI;
using PhilExampleCrawler.TCPAPI.Services;
Console.WriteLine("PhilExample Server lacht :)");
Console.WriteLine("Initializing Server...");
Console.WriteLine("Server initialized.");
Console.WriteLine("What should I do?");
int i = 1;
bool started = false;
while (true)
{
string? cmd = Console.ReadLine();
if (cmd == "start_crw" || string.IsNullOrEmpty(cmd))
{
if (!started)
{
started = true;
Crawler.Start();
}
}
else if (cmd == "stop_crw")
{
Crawler.Stop();
}
else if (cmd == "get_sessions")
{
foreach (var sess in UserService.RunningSessions)
{
Console.WriteLine("ConnectionID: " + sess.Key);
Console.WriteLine("....SessionID: " + sess.Value.ID);
Console.WriteLine("....User:");
Console.WriteLine("............ID: " + sess.Value.User.ID);
Console.WriteLine("............AuthCode: " + sess.Value.User.AuthCode);
Console.WriteLine("............CreateDate: " + sess.Value.User.CreateDate.ToString("dd:MM:yy HH:mm:ss"));
foreach (var crawlReq in sess.Value.RegisteredCrawlSessions)
{
Console.WriteLine("....CrawlRequest " + crawlReq.ID + ":");
Console.WriteLine("............keywords: " + crawlReq.SearchParams.KeyWords);
Console.WriteLine("............locationStr: " + crawlReq.SearchParams.LocationStr);
Console.WriteLine("............categoryID: " + crawlReq.SearchParams.CategoryID);
Console.WriteLine("............radius: " + crawlReq.SearchParams.Radius);
}
}
}
else if(cmd.StartsWith("ping"))
{
int connectionID = int.Parse(cmd[4..]);
Program.TCPServer.Send(connectionID, new BasePacket(new NewInsertionLoad() { Href = "test/href/ping/hihihi" }));
}
}
public partial class Program
{
internal static PhilExampleCrawler.DataBase.UserAccess DB_UserAcces { get; } = new(new PhilExampleCrawler.DataBase.Models.DBSettings());
internal static PhilExampleCrawler.DataBase.CrawlSessionAccess DB_CrawlSessionAccess { get; } = new(new PhilExampleCrawler.DataBase.Models.DBSettings());
internal static TCPServer TCPServer { get; } = new();
internal static CrawlingService Crawler { get; } = new();
internal static UserSessionService UserService { get; } = new();
}