Added Broadcast listening
This commit is contained in:
parent
3122652145
commit
2fe0a11f2e
|
@ -1,21 +1,22 @@
|
|||
<Properties StartupConfiguration="{E26F8159-6B4B-4660-A7A4-D0333DFEF0DD}|Default" NuGet.AddPackagesDialog.IncludePrerelease="True">
|
||||
<MonoDevelop.Ide.Workbench ActiveDocument="Program.cs">
|
||||
<MonoDevelop.Ide.Workbench ActiveDocument="Broadcast.cs">
|
||||
<Files>
|
||||
<File FileName="TYTD.Api/Server/Models/InfoType.cs" Line="155" Column="47" />
|
||||
<File FileName="TYTD.Api/Server/Functions/Downloader.cs" Line="18" Column="1" />
|
||||
<File FileName="TYTD.Api/Server/Functions/Downloader.cs" Line="69" Column="28" />
|
||||
<File FileName="TYTD.Api/Server/Models/SavedMedia.cs" Line="1" Column="1" />
|
||||
<File FileName="TYTD.Api/Server/Models/SavedVideo.cs" Line="8" Column="1" />
|
||||
<File FileName="TYTD.Api/Server/Models/InfomationQueueItem.cs" Line="280" Column="42" />
|
||||
<File FileName="TYTD.Api/Server/Functions/ffmpeg.cs" Line="5" Column="15" />
|
||||
<File FileName="Program.cs" Line="1060" Column="23" />
|
||||
<File FileName="TYTD.Api/MyClass.cs" Line="80" Column="14" />
|
||||
<File FileName="Program.cs" Line="61" Column="13" />
|
||||
<File FileName="TYTD.Api/MyClass.cs" Line="225" Column="46" />
|
||||
<File FileName="TYTD.Api/Server/Models/SavedChannel.cs" Line="6" Column="10" />
|
||||
<File FileName="TYTD.Api/Server/Models/SavedPlaylist.cs" Line="7" Column="1" />
|
||||
<File FileName="TYTD.Api/Server/Models/VideoDownloadProgress.cs" Line="13" Column="1" />
|
||||
<File FileName="youtube-downloader.csproj" Line="1" Column="1" />
|
||||
<File FileName="../../../usr/lib/mono/msbuild/15.0/bin/Microsoft.Common.CurrentVersion.targets" Line="2101" Column="5" />
|
||||
<File FileName="TYTD.Api/Server/Models/IEnumerator.cs" Line="1" Column="1" />
|
||||
<File FileName="TYTD.Api/SimpleHttpExtensions.cs" Line="432" Column="1" />
|
||||
<File FileName="TYTD.Api/SimpleHttpExtensions.cs" Line="17" Column="19" />
|
||||
<File FileName="Broadcast.cs" Line="11" Column="9" />
|
||||
</Files>
|
||||
<Pads>
|
||||
<Pad Id="ProjectPad">
|
||||
|
@ -23,12 +24,13 @@
|
|||
<Node name="youtube-downloader" expanded="True">
|
||||
<Node name="TYTD.Api" expanded="True">
|
||||
<Node name="Server" expanded="True">
|
||||
<Node name="Functions" expanded="True" />
|
||||
<Node name="Models" expanded="True" />
|
||||
</Node>
|
||||
</Node>
|
||||
<Node name="youtube-downloader" expanded="True">
|
||||
<Node name="Properties" expanded="True" />
|
||||
<Node name="Program.cs" selected="True" />
|
||||
<Node name="Broadcast.cs" selected="True" />
|
||||
</Node>
|
||||
</Node>
|
||||
</State>
|
||||
|
|
|
@ -0,0 +1,29 @@
|
|||
using System;
|
||||
using System.Net;
|
||||
namespace TYTD
|
||||
{
|
||||
public class Broadcast
|
||||
{
|
||||
public Broadcast(ushort port,string name)
|
||||
{
|
||||
this.port = port;
|
||||
this.name = name;
|
||||
|
||||
}
|
||||
|
||||
public string name { get; set; }
|
||||
|
||||
public ushort port { get; set; }
|
||||
}
|
||||
|
||||
public class BroadcastSettings
|
||||
{
|
||||
public BroadcastSettings()
|
||||
{
|
||||
name = Dns.GetHostName();
|
||||
broadcast = true;
|
||||
}
|
||||
public bool broadcast { get; set; }
|
||||
public string name { get; set; }
|
||||
}
|
||||
}
|
57
Program.cs
57
Program.cs
|
@ -25,6 +25,7 @@ using YoutubeExplode.Playlists;
|
|||
using Dasync.Collections;
|
||||
using YoutubeExplode.Search;
|
||||
using Hyperlinq;
|
||||
using System.Net.Sockets;
|
||||
|
||||
namespace TYTD
|
||||
{
|
||||
|
@ -52,10 +53,58 @@ namespace TYTD
|
|||
Downloader.DL.ListenForQueueItem().GetAwaiter().GetResult();
|
||||
}));
|
||||
|
||||
|
||||
|
||||
|
||||
t2.Start();
|
||||
|
||||
|
||||
string file = Path.Combine("config","discover_info.json");
|
||||
|
||||
BroadcastSettings settings = new BroadcastSettings();
|
||||
|
||||
|
||||
//http://+:3250/
|
||||
if(File.Exists(file))
|
||||
{
|
||||
settings=JsonConvert.DeserializeObject<BroadcastSettings>(file);
|
||||
}
|
||||
if(settings.broadcast)
|
||||
{
|
||||
ushort port = 3250;
|
||||
if(arg.Length > 0)
|
||||
{
|
||||
string url0 = arg[0];
|
||||
|
||||
Uri uri = new Uri(url0.Replace("+", "domain"));
|
||||
port = (ushort)uri.Port;
|
||||
}
|
||||
UdpClient cl;
|
||||
|
||||
Thread t3 = new Thread(() => {
|
||||
IPEndPoint end = new IPEndPoint(0, 0);
|
||||
ushort _port = port;
|
||||
UdpClient c = new UdpClient(new IPEndPoint(IPAddress.Any, 32501));
|
||||
|
||||
while (true)
|
||||
{
|
||||
var data= c.Receive(ref end);
|
||||
string text=Encoding.UTF8.GetString(data);
|
||||
if(text.Equals("TYTD_BROADCAST", StringComparison.Ordinal))
|
||||
{
|
||||
byte[] json = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(new Broadcast(_port,settings.name)));
|
||||
c.Send(json,json.Length, end);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
t3.Start();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// we need to get our app name so that
|
||||
// we can create unique names for our mutex and our pipe
|
||||
webSitePath = Downloader.DL.GetPath(true, "WebSite");
|
||||
|
@ -123,7 +172,7 @@ namespace TYTD
|
|||
|
||||
Downloader.RouteAdd("/api/Cancel","Current","Cancel current video, go to next", (HttpAction)Cancel);
|
||||
|
||||
|
||||
|
||||
/* Storage */
|
||||
Downloader.RouteAdd("/api/Storage/GetDirectories/{Path}", "Storage","Get list of directories in Path\nAlready used Path.GetFileName(), its json array", (HttpAction)StorageGetDirectories);
|
||||
Downloader.RouteAdd("/api/Storage/GetFiles/{Path}","Storage","Get list of files in Path\nAlready used Path.GetFileName(), its json array", (HttpAction)StorageGetFiles);
|
||||
|
@ -156,9 +205,9 @@ namespace TYTD
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
/* Other */
|
||||
Downloader.RouteAdd("/","Other","Home page", (HttpAction)Index);
|
||||
Downloader.RouteAdd("/", "Other", "Home page", (HttpAction)Index, "GET");
|
||||
Downloader.RouteAdd("/extensions.html","Other","Extensions URL", (HttpAction)Extensions);
|
||||
Downloader.RouteAdd("/{Path}","Other","Website Files", (HttpAction)RootPath);
|
||||
Downloader.RouteAdd("/{Path}","Other","Upload file over put",(HttpAction)UploadFilePut,"PUT");
|
||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -1 +1 @@
|
|||
8f38b4bfd3e4101cea207f521c4ab951a53995e7
|
||||
511bd001c80deda115b5110ee10fd30363c84ec1
|
||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -122,6 +122,7 @@
|
|||
<ItemGroup>
|
||||
<Compile Include="Program.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Broadcast.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="packages.config" />
|
||||
|
|
Loading…
Reference in New Issue