From a6fb094bfb209e297b6ea019b383e3338c44df9b Mon Sep 17 00:00:00 2001 From: rawer470 Date: Thu, 15 Aug 2024 10:31:46 +0300 Subject: [PATCH 1/4] AddServerClass --- .../NetworkManager/ServerNetworkManager.cs | 49 ++++++++++++++++++- ZoFo/GameCore/Server.cs | 22 +++++++++ 2 files changed, 70 insertions(+), 1 deletion(-) create mode 100644 ZoFo/GameCore/Server.cs diff --git a/ZoFo/GameCore/GameManagers/NetworkManager/ServerNetworkManager.cs b/ZoFo/GameCore/GameManagers/NetworkManager/ServerNetworkManager.cs index bcace1e..8395748 100644 --- a/ZoFo/GameCore/GameManagers/NetworkManager/ServerNetworkManager.cs +++ b/ZoFo/GameCore/GameManagers/NetworkManager/ServerNetworkManager.cs @@ -1,12 +1,59 @@ using System; using System.Collections.Generic; using System.Linq; +using System.Net; +using System.Net.Sockets; using System.Text; +using System.Threading; using System.Threading.Tasks; +using ZoFo.GameCore.GameManagers.NetworkManager.Updates; namespace ZoFo.GameCore.GameManagers.NetworkManager { - internal class ServerNetworkManager + public class ServerNetworkManager { + private IPAddress ip = IPAddress.Any; + private int port = 7632; + private IPEndPoint endPoint; + private Socket socket; + private List clients; + private List updates; + delegate void OnDataSend(string data); // + + public void Init() //create Socket + { + endPoint = new IPEndPoint(ip, port); + socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); + } + + public void SendData() + { + + } + public void AddData(IUpdateData data) { } + + + //Поток 2 + public void StartWaitingForPlayers()//Слушает игроков, которые хотят подключиться + { + socket.Bind(endPoint); + socket.Listen(10); + for (int i = 0; i < 10; i++) + { + Socket client = socket.Accept(); + clients.Add(client); //добавляем клиентов в лист + } + + StartListening(); + } + + public void StartListening()//начать слушать клиентов в самой игре активируют Ивент + { + var buff = new byte[1024]; + foreach (var client in clients) + { + var answ = client.Receive(buff); + } + } } } diff --git a/ZoFo/GameCore/Server.cs b/ZoFo/GameCore/Server.cs new file mode 100644 index 0000000..948ee0e --- /dev/null +++ b/ZoFo/GameCore/Server.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using ZoFo.GameCore.GameObjects; + +namespace ZoFo.GameCore +{ + public class Server + { + private List gameObjects; + // private List<> entity; //entity + + public void OnDataSend(string data) { } + public void CreateRoom() { } + public void StartGame() { } + public void EndGame() { } + + + } +} From 6e89e1202106b6044b2f4b05117e16e0a62bde4f Mon Sep 17 00:00:00 2001 From: MARKPRO44 <119742977+MARKPRO4444@users.noreply.github.com> Date: Thu, 15 Aug 2024 10:35:02 +0300 Subject: [PATCH 2/4] ClientNetworkManager --- ZoFo/GameCore/Client.cs | 5 +++++ .../NetworkManager/ClientNetworkManager.cs | 20 +++++++++++++++++++ .../NetworkManager/Updates/IUpdateData.cs | 5 +++++ 3 files changed, 30 insertions(+) create mode 100644 ZoFo/GameCore/Client.cs create mode 100644 ZoFo/GameCore/GameManagers/NetworkManager/ClientNetworkManager.cs create mode 100644 ZoFo/GameCore/GameManagers/NetworkManager/Updates/IUpdateData.cs diff --git a/ZoFo/GameCore/Client.cs b/ZoFo/GameCore/Client.cs new file mode 100644 index 0000000..79e04aa --- /dev/null +++ b/ZoFo/GameCore/Client.cs @@ -0,0 +1,5 @@ + +class Client +{ + +} \ No newline at end of file diff --git a/ZoFo/GameCore/GameManagers/NetworkManager/ClientNetworkManager.cs b/ZoFo/GameCore/GameManagers/NetworkManager/ClientNetworkManager.cs new file mode 100644 index 0000000..7949429 --- /dev/null +++ b/ZoFo/GameCore/GameManagers/NetworkManager/ClientNetworkManager.cs @@ -0,0 +1,20 @@ +using System.Security.Cryptography.X509Certificates; +using System.Threading; + +namespace ZoFo.GameCore.GameManagers.NetworkManager; + +public delegate void OnDataSent(string Data); + +public class ClientNetworkManager +{ + static public event OnDataSent DataSent; + + static void OnDataSent(string Data) + { + + } + static void StartListening() + { + + } +} \ No newline at end of file diff --git a/ZoFo/GameCore/GameManagers/NetworkManager/Updates/IUpdateData.cs b/ZoFo/GameCore/GameManagers/NetworkManager/Updates/IUpdateData.cs new file mode 100644 index 0000000..fc9b2d1 --- /dev/null +++ b/ZoFo/GameCore/GameManagers/NetworkManager/Updates/IUpdateData.cs @@ -0,0 +1,5 @@ + +interface IUpdateData +{ + +} \ No newline at end of file From f5ad504af6cec6a08361cd95c1168e65d434f8ae Mon Sep 17 00:00:00 2001 From: MARKPRO44 <119742977+MARKPRO4444@users.noreply.github.com> Date: Thu, 15 Aug 2024 10:51:22 +0300 Subject: [PATCH 3/4] Client --- ZoFo/GameCore/Client.cs | 11 ++++++++++- .../NetworkManager/ClientNetworkManager.cs | 17 +++++++---------- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/ZoFo/GameCore/Client.cs b/ZoFo/GameCore/Client.cs index 79e04aa..3716e15 100644 --- a/ZoFo/GameCore/Client.cs +++ b/ZoFo/GameCore/Client.cs @@ -1,5 +1,14 @@ -class Client +namespace ZoFo.GameCore { + public class Client + { + public void OnDataSend(string Data){ } + public void GameEndedUnexpectedly(){ } + + public void JoinRoom() { } + + public void JoinYourself(){ } + } } \ No newline at end of file diff --git a/ZoFo/GameCore/GameManagers/NetworkManager/ClientNetworkManager.cs b/ZoFo/GameCore/GameManagers/NetworkManager/ClientNetworkManager.cs index 7949429..8e77a67 100644 --- a/ZoFo/GameCore/GameManagers/NetworkManager/ClientNetworkManager.cs +++ b/ZoFo/GameCore/GameManagers/NetworkManager/ClientNetworkManager.cs @@ -1,20 +1,17 @@ using System.Security.Cryptography.X509Certificates; using System.Threading; -namespace ZoFo.GameCore.GameManagers.NetworkManager; -public delegate void OnDataSent(string Data); - -public class ClientNetworkManager +namespace ZoFo.GameCore.GameManagers.NetworkManager { - static public event OnDataSent DataSent; + public delegate void OnDataSent(string Data); - static void OnDataSent(string Data) - { - - } - static void StartListening() + public class ClientNetworkManager { + public event OnDataSent DataSent; + public static void StartListening() + { + } } } \ No newline at end of file From 0daefa41a6c372b09b28cf6d572cbc7cf9ada956 Mon Sep 17 00:00:00 2001 From: rawer470 Date: Thu, 15 Aug 2024 10:58:19 +0300 Subject: [PATCH 4/4] UpdateServerNetworkManager --- .../GameManagers/NetworkManager/ServerNetworkManager.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/ZoFo/GameCore/GameManagers/NetworkManager/ServerNetworkManager.cs b/ZoFo/GameCore/GameManagers/NetworkManager/ServerNetworkManager.cs index 8395748..899f610 100644 --- a/ZoFo/GameCore/GameManagers/NetworkManager/ServerNetworkManager.cs +++ b/ZoFo/GameCore/GameManagers/NetworkManager/ServerNetworkManager.cs @@ -1,9 +1,12 @@ -using System; +using Microsoft.Xna.Framework.Graphics.PackedVector; +using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Net.Sockets; using System.Text; +using System.Text.Json; +using System.Text.Json.Serialization; using System.Threading; using System.Threading.Tasks; using ZoFo.GameCore.GameManagers.NetworkManager.Updates; @@ -53,6 +56,8 @@ namespace ZoFo.GameCore.GameManagers.NetworkManager foreach (var client in clients) { var answ = client.Receive(buff); + string response = Encoding.UTF8.GetString(buff, 0, answ); + // List updateDatas = } } }