Compare commits
4 Commits
2dfc898e8a
...
cc31c4024a
| Author | SHA1 | Date | |
|---|---|---|---|
| cc31c4024a | |||
| 2b2b16271b | |||
| 4961ced384 | |||
| 187c8de6d3 |
@@ -16,25 +16,28 @@ public partial class MainPage : ContentPage
|
|||||||
|
|
||||||
private void SendButton_OnClicked(object? sender, EventArgs e)
|
private void SendButton_OnClicked(object? sender, EventArgs e)
|
||||||
{
|
{
|
||||||
SendMessage();
|
SendMessage(sender, e);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void MessageEntry_OnCompleted(object? sender, EventArgs e)
|
private void MessageEntry_OnCompleted(object? sender, EventArgs e)
|
||||||
{
|
{
|
||||||
SendMessage();
|
SendMessage(sender, e);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SendMessage()
|
private void SendMessage(object? sender, EventArgs e)
|
||||||
{
|
{
|
||||||
var text = MessageEntry.Text?.Trim();
|
var text = MessageEntry.Text?.Trim();
|
||||||
|
|
||||||
if (string.IsNullOrWhiteSpace(text))
|
if (string.IsNullOrWhiteSpace(text))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
ChatSimulator.Send(_username, text);
|
MauiProgram.wsc.Send($"{_username}:{text}");
|
||||||
|
|
||||||
|
// ChatSimulator.Send(_username, text);
|
||||||
|
|
||||||
Console.WriteLine($"[{_username}] sent message: {text}");
|
Console.WriteLine($"[{_username}] sent message: {text}");
|
||||||
|
|
||||||
|
|
||||||
MessageEntry.Text = string.Empty;
|
MessageEntry.Text = string.Empty;
|
||||||
MessageEntry.Focus();
|
MessageEntry.Focus();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,16 +1,18 @@
|
|||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
using Microsoft.Maui.Hosting;
|
using WebSocketSharp;
|
||||||
|
|
||||||
namespace RelayClient;
|
namespace RelayClient;
|
||||||
|
|
||||||
public static class MauiProgram
|
public static class MauiProgram
|
||||||
{
|
{
|
||||||
|
// public static event Action<ChatMessage>? MessageSent;
|
||||||
|
public static WebSocket wsc = new WebSocket("ws://localhost:1337");
|
||||||
public static MauiApp CreateMauiApp()
|
public static MauiApp CreateMauiApp()
|
||||||
{
|
{
|
||||||
|
wsc.OnMessage += (sender, e) => OnWebSocketRecieved(sender, e);
|
||||||
|
wsc.Connect();
|
||||||
var builder = MauiApp.CreateBuilder();
|
var builder = MauiApp.CreateBuilder();
|
||||||
builder
|
builder.UseMauiApp<App>().ConfigureFonts(fonts =>
|
||||||
.UseMauiApp<App>()
|
|
||||||
.ConfigureFonts(fonts =>
|
|
||||||
{
|
{
|
||||||
fonts.AddFont("AnonymousPro-Bold.ttf", "AnonymousProBold");
|
fonts.AddFont("AnonymousPro-Bold.ttf", "AnonymousProBold");
|
||||||
fonts.AddFont("AnonymousPro-BoldItalic.ttf", "AnonymousProBoldItalic");
|
fonts.AddFont("AnonymousPro-BoldItalic.ttf", "AnonymousProBoldItalic");
|
||||||
@@ -18,10 +20,28 @@ public static class MauiProgram
|
|||||||
fonts.AddFont("AnonymousPro-Regular.ttf", "AnonymousProRegular");
|
fonts.AddFont("AnonymousPro-Regular.ttf", "AnonymousProRegular");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#if DEBUG
|
#if DEBUG
|
||||||
builder.Logging.AddDebug();
|
builder.Logging.AddDebug();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return builder.Build();
|
return builder.Build();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void OnWebSocketRecieved(object? sender, MessageEventArgs e)
|
||||||
|
{
|
||||||
|
Console.WriteLine(sender.ToString());
|
||||||
|
|
||||||
|
ChatSimulator.Send(e.Data.Split(":")[0], e.Data.Split(":")[1]);
|
||||||
|
|
||||||
|
// var message = new ChatMessage
|
||||||
|
// {
|
||||||
|
// SenderUsername = e.Data.Split(":")[0],
|
||||||
|
// Text = e.Data.Split(":")[1],
|
||||||
|
// Timestamp = DateTime.Now
|
||||||
|
// };
|
||||||
|
//
|
||||||
|
// MessageSent?.Invoke(message);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -42,6 +42,7 @@
|
|||||||
<PackageReference Include="Microsoft.Maui.Controls" Version="$(MauiVersion)" />
|
<PackageReference Include="Microsoft.Maui.Controls" Version="$(MauiVersion)" />
|
||||||
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="10.0.0" />
|
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="10.0.0" />
|
||||||
<PackageReference Include="SurrealDb.Net" Version="0.9.0" />
|
<PackageReference Include="SurrealDb.Net" Version="0.9.0" />
|
||||||
|
<PackageReference Include="WebSocketSharp" Version="1.0.3-rc11" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ var kira = await CreateUserAsync(db, "Ru_Kira", "jduesling13@gmail.com", "passwo
|
|||||||
|
|
||||||
Console.WriteLine($"Keeper created: {ToJsonString(keeper)}");
|
Console.WriteLine($"Keeper created: {ToJsonString(keeper)}");
|
||||||
Console.WriteLine($"Kira created: {ToJsonString(kira)}");
|
Console.WriteLine($"Kira created: {ToJsonString(kira)}");
|
||||||
|
Console.ReadKey(true);
|
||||||
return;
|
return;
|
||||||
|
|
||||||
static string ToJsonString(object? o)
|
static string ToJsonString(object? o)
|
||||||
|
|||||||
@@ -1,4 +1,8 @@
|
|||||||
using System.Text.Json;
|
using System.Text.Json;
|
||||||
|
using System;
|
||||||
|
using WebSocketSharp.Server;
|
||||||
|
using WebSocketSharp;
|
||||||
|
|
||||||
using RelayServer.Models;
|
using RelayServer.Models;
|
||||||
using RelayServer.Services;
|
using RelayServer.Services;
|
||||||
|
|
||||||
@@ -8,6 +12,13 @@ var cryptoService = new ChannelCryptoService();
|
|||||||
|
|
||||||
await using var db = await surrealService.ConnectAsync();
|
await using var db = await surrealService.ConnectAsync();
|
||||||
|
|
||||||
|
var wssv = new WebSocketServer("ws://localhost:1337");
|
||||||
|
wssv.AddWebSocketService<ChatTest>("/");
|
||||||
|
wssv.Start();
|
||||||
|
Console.WriteLine("WebSocket server started");
|
||||||
|
Console.ReadKey(true);
|
||||||
|
wssv.Stop();
|
||||||
|
|
||||||
var keeper = await coreClient.GetUserByUsernameAsync("Keeper317");
|
var keeper = await coreClient.GetUserByUsernameAsync("Keeper317");
|
||||||
var kira = await coreClient.GetUserByUsernameAsync("Ru_Kira");
|
var kira = await coreClient.GetUserByUsernameAsync("Ru_Kira");
|
||||||
|
|
||||||
@@ -62,8 +73,6 @@ Console.WriteLine($"Channel created: {ToJsonString(channel)}");
|
|||||||
var channelId = GetRecordId(channel.Id);
|
var channelId = GetRecordId(channel.Id);
|
||||||
Console.WriteLine($"Resolved channelId: {channelId}");
|
Console.WriteLine($"Resolved channelId: {channelId}");
|
||||||
|
|
||||||
Console.WriteLine($"Channel created: {ToJsonString(channel)}");
|
|
||||||
|
|
||||||
var keyBase64 = cryptoService.GenerateKey();
|
var keyBase64 = cryptoService.GenerateKey();
|
||||||
|
|
||||||
var serverKey = await db.Create("server_encryption_keys", new ServerEncryptionKeys
|
var serverKey = await db.Create("server_encryption_keys", new ServerEncryptionKeys
|
||||||
@@ -150,3 +159,14 @@ static string GetRecordId(object? id)
|
|||||||
|
|
||||||
return $"{table}:{recordId}";
|
return $"{table}:{recordId}";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class ChatTest : WebSocketBehavior
|
||||||
|
{
|
||||||
|
protected override void OnMessage(MessageEventArgs e)
|
||||||
|
{
|
||||||
|
// var msg = e.Data.Split(":")[1] == "PING" ? "SERVER:PONG" : "SERVER:RESPONSE";
|
||||||
|
var msg = e.Data;
|
||||||
|
Console.WriteLine(msg);
|
||||||
|
Send(msg);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -9,6 +9,7 @@
|
|||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="SurrealDb.Net" Version="0.9.0" />
|
<PackageReference Include="SurrealDb.Net" Version="0.9.0" />
|
||||||
|
<PackageReference Include="WebSocketSharp" Version="1.0.3-rc11" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
Reference in New Issue
Block a user