stuff
This commit is contained in:
@@ -37,8 +37,6 @@ namespace PolyChat
|
||||
{
|
||||
UIController = uiController;
|
||||
OwnIP = getIP();
|
||||
loadChats();
|
||||
//SaveChats("10", "{das ist ein test}");
|
||||
Serve();
|
||||
}
|
||||
|
||||
@@ -55,7 +53,7 @@ namespace PolyChat
|
||||
{
|
||||
Connections.Add(ip, new Connection(ip, PORT, Data => OnMessage(ip, Data), CloseChat));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void Serve()
|
||||
@@ -74,6 +72,7 @@ namespace PolyChat
|
||||
{
|
||||
Debug.WriteLine("--- initial packet received ---");
|
||||
string ForeignIp = data[0].ToString();
|
||||
|
||||
Debug.WriteLine($"--- this ip was in the inital packet: {ForeignIp} ---");
|
||||
if (isInConnections(ForeignIp))
|
||||
{
|
||||
@@ -171,6 +170,7 @@ namespace PolyChat
|
||||
/// <param name="ip"></param>
|
||||
public void loadChats()
|
||||
{
|
||||
//TODO: also load chatlogs when user tries to connect
|
||||
//load dir and create if non existant
|
||||
if (Directory.Exists("U:\\PolyChat\\Saves"))
|
||||
{
|
||||
@@ -200,9 +200,43 @@ namespace PolyChat
|
||||
UIController.OnIncomingMessages(ip, jsonArr);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
public void loadChat(String ip)
|
||||
{
|
||||
//TODO: also load chatlogs when user tries to connect
|
||||
//load dir and create if non existant
|
||||
if (Directory.Exists("U:\\PolyChat\\Saves"))
|
||||
{
|
||||
Debug.WriteLine("--Path exists.--");
|
||||
}
|
||||
else
|
||||
{
|
||||
Directory.CreateDirectory("U:\\PolyChat\\Saves");
|
||||
Debug.WriteLine("--Path Created--.");
|
||||
}
|
||||
|
||||
//go through all files and send ip and json array to ui
|
||||
String[] filepaths = Directory.GetFiles("U:\\PolyChat\\Saves");
|
||||
if (filepaths.Length > 0)
|
||||
{
|
||||
Debug.WriteLine("---Loading Saves");
|
||||
foreach (String path in filepaths)
|
||||
{
|
||||
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(jsonArr);
|
||||
Connect(ip);
|
||||
UIController.OnIncomingConnection(ip);
|
||||
UIController.OnIncomingMessages(ip, jsonArr);
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
/// <summary>
|
||||
/// Saves incoming chat message to
|
||||
/// </summary>
|
||||
@@ -215,43 +249,51 @@ namespace PolyChat
|
||||
//writing flag setzen oder auch in der datei selbst ne flag setzen
|
||||
new Thread(() =>
|
||||
{
|
||||
if (File.Exists($"U:\\PolyChat\\Saves\\{ip}.txt"))
|
||||
//breaking if namechange
|
||||
JObject obj = JObject.Parse(json);
|
||||
if (!obj["type"].ToString().Equals("username"))
|
||||
{
|
||||
Debug.WriteLine("--File allready exists--");
|
||||
//check for integraty of file
|
||||
string output = File.ReadAllText($"U:\\PolyChat\\Saves\\{ip}.txt");
|
||||
Debug.WriteLine($"---{output}---");
|
||||
if (output.Substring(0, 1).Equals("[") && output.Substring(output.Length - 1, 1).Equals("]"))
|
||||
//adding timestamp
|
||||
obj = JObject.Parse(json);
|
||||
obj.Add(new JProperty("timestamp", timeStamp));
|
||||
json = obj.ToString();
|
||||
if (File.Exists($"U:\\PolyChat\\Saves\\{ip}.txt"))
|
||||
{
|
||||
Debug.WriteLine("--adding new chatmessage--");
|
||||
//structure intact
|
||||
JObject obj = JObject.Parse(json);
|
||||
//save new chat
|
||||
String saved = output.Substring(0, output.Length - 1);
|
||||
output = saved + ", " + json + " ]";
|
||||
File.Delete($"U:\\PolyChat\\Saves\\{ip}.txt");
|
||||
File.WriteAllText($"U:\\PolyChat\\Saves\\{ip}.txt", output);
|
||||
Debug.WriteLine("--File allready exists--");
|
||||
//check for integraty of file
|
||||
string output = File.ReadAllText($"U:\\PolyChat\\Saves\\{ip}.txt");
|
||||
Debug.WriteLine($"---{output}---");
|
||||
if (output.Substring(0, 1).Equals("[") && output.Substring(output.Length - 1, 1).Equals("]"))
|
||||
{
|
||||
Debug.WriteLine("--adding new chatmessage--");
|
||||
//structure intact
|
||||
//save new chat
|
||||
String saved = output.Substring(0, output.Length - 1);
|
||||
output = saved + ", " + json + " ]";
|
||||
File.Delete($"U:\\PolyChat\\Saves\\{ip}.txt");
|
||||
File.WriteAllText($"U:\\PolyChat\\Saves\\{ip}.txt", output);
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.WriteLine("--Structure not intact--");
|
||||
Debug.WriteLine("--redoing file--");
|
||||
//structure not intact
|
||||
//redo file
|
||||
File.Delete($"U:\\PolyChat\\Saves\\{ip}.txt");
|
||||
File.WriteAllText($"U:\\PolyChat\\Saves\\{ip}.txt", $"[ {json} ]");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.WriteLine("--Structure not intact--");
|
||||
Debug.WriteLine("--redoing file--");
|
||||
//structure not intact
|
||||
//redo file
|
||||
File.Delete($"U:\\PolyChat\\Saves\\{ip}.txt");
|
||||
Debug.WriteLine("--Creating new File--");
|
||||
//setup file
|
||||
File.WriteAllText($"U:\\PolyChat\\Saves\\{ip}.txt", $"[ {json} ]");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.WriteLine("--Creating new File--");
|
||||
//setup file
|
||||
File.WriteAllText($"U:\\PolyChat\\Saves\\{ip}.txt", $"[ {json} ]");
|
||||
}
|
||||
}).Start();
|
||||
}
|
||||
|
||||
private void encode(string json)
|
||||
private void encode(string json)
|
||||
{
|
||||
byte[] plaintext = Encoding.UTF8.GetBytes(json);
|
||||
byte[] entropy = new byte[20];
|
||||
@@ -260,8 +302,6 @@ namespace PolyChat
|
||||
rng.GetBytes(entropy);
|
||||
}
|
||||
|
||||
/*byte[] ciphertext = ProtectedData.Protect(plaintext, entropy,
|
||||
DataProtectionScope.CurrentUser);*/
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -156,8 +156,8 @@ namespace PolyChat
|
||||
new ChatMessage(
|
||||
origin,
|
||||
item["type"].ToString(),
|
||||
item["content"].ToString(),
|
||||
DateTime.Parse(item["timestamp"].ToString())
|
||||
item["content"].ToString()//,
|
||||
//DateTime.Parse(item["timestamp"].ToString())
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
@@ -11,12 +11,7 @@ namespace PolyChat.Models
|
||||
public string Content;
|
||||
public DateTime TimeStamp;
|
||||
public readonly bool Foreign;
|
||||
|
||||
|
||||
public ChatMessage()
|
||||
{
|
||||
|
||||
}
|
||||
/// <summary>
|
||||
/// Create own Message (directly sent)
|
||||
/// </summary>
|
||||
|
||||
Reference in New Issue
Block a user