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
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();
|
|
} |