Merge branch 'ConnectionController' of https://sourcecode.socialcoding.bosch.com/scm/~hpl2fe/polychat into ConnectionController

This commit is contained in:
Patrick Hellebrand
2021-09-23 11:30:15 +02:00
2 changed files with 29 additions and 5 deletions

View File

@@ -9,6 +9,8 @@ using System.IO;
using System.Threading;
using System;
using System.Text.Json;
using System.Text;
using System.Security.Cryptography;
namespace PolyChat
{
@@ -50,7 +52,10 @@ namespace PolyChat
//Todo show error!
}
else
{
Connections.Add(ip, new Connection(ip, PORT, Data => OnMessage(ip, Data), CloseChat));
}
}
private void Serve()
@@ -181,15 +186,17 @@ namespace PolyChat
String[] filepaths = Directory.GetFiles("U:\\PolyChat\\Saves");
if (filepaths.Length > 0)
{
Debug.WriteLine("---Loading Saves");
foreach (String path in filepaths)
{
Debug.WriteLine("---Loading Saves---");
Debug.WriteLine("--" + path + "--");
Debug.WriteLine($"--{path}");
String jsonArr = File.ReadAllText(path);
String ip = Path.GetFileName(path);
ip = ip.Substring(0, ip.Length - 4);
Debug.WriteLine("-" + ip + "-");
Debug.WriteLine($"-{ip}");
Debug.WriteLine(jsonArr);
Connect(ip);
UIController.OnIncomingConnection(ip);
UIController.OnIncomingMessages(ip, jsonArr);
}
}
@@ -206,7 +213,6 @@ namespace PolyChat
//Vielleicht noch so machen dass die mit gleicher ip nacheinander gemacht
//werden damit es nicht zu überschreibungen kommt vielleicth auch ganz oben oder am ende ne
//writing flag setzen oder auch in der datei selbst ne flag setzen
//also save fils from myself
new Thread(() =>
{
if (File.Exists($"U:\\PolyChat\\Saves\\{ip}.txt"))
@@ -244,5 +250,18 @@ namespace PolyChat
}
}).Start();
}
private void encode(string json)
{
byte[] plaintext = Encoding.UTF8.GetBytes(json);
byte[] entropy = new byte[20];
using (RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider())
{
rng.GetBytes(entropy);
}
/*byte[] ciphertext = ProtectedData.Protect(plaintext, entropy,
DataProtectionScope.CurrentUser);*/
}
}
}

View File

@@ -12,6 +12,11 @@ namespace PolyChat.Models
public DateTime TimeStamp;
public readonly bool Foreign;
public ChatMessage()
{
}
/// <summary>
/// Create own Message (directly sent)
/// </summary>
@@ -43,7 +48,7 @@ namespace PolyChat.Models
Type = type;
Content = content;
Foreign = foreign;
Debug.WriteLine("Created Loaded Message: " + ToString());
Debug.WriteLine("Created Loaded Message: " + ToString());
}
override