Skip to content
Snippets Groups Projects
Commit 807fc972 authored by Marcel Kehrberg's avatar Marcel Kehrberg
Browse files

WebSocket Server

parent 8cea1434
No related branches found
No related tags found
1 merge request!60Web socket server
using InnoLabProjektDektopApp.Services;
using InnoLabProjektDektopApp.Services.WebSocketServer;
using InnoLabProjektDektopApp.Utils;
using System.Configuration;
using System.Data;
......@@ -30,6 +31,7 @@ namespace InnoLabProjektDektopApp
{
_notifyIconManager.Initialize();
base.OnStartup(e);
var server = Server.Instance;
}
protected override void OnExit(ExitEventArgs e)
......
using InnoLabProjektDektopApp.Services;
using InnoLabProjektDektopApp.Services.WebSocketServer;
using System.IO;
using System.Net.Sockets;
using System.Text.Json;
......@@ -266,6 +267,7 @@ namespace InnoLabProjektDektopApp
// Ereignis-Handler für den "Start"-Button
private void StartButton_Click(object sender, RoutedEventArgs e)
{
Server.Instance.SendMessageToAllClients("true");
// Werte auslesen
int focusPeriod;
......
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Fleck;
namespace InnoLabProjektDektopApp.Services.WebSocketServer
{
class Server
{
private static Server instance = null;
private Fleck.WebSocketServer server;
private List<IWebSocketConnection> clients = new List<IWebSocketConnection>();
private Server()
{
Console.WriteLine("Server Construction");
server = new Fleck.WebSocketServer("ws://127.0.0.1:8080");
server.Start(socket =>
{
socket.OnOpen = () =>
{
Console.WriteLine("Client verbunden");
clients.Add(socket);
};
socket.OnClose = () =>
{
Console.WriteLine("Client getrennt");
clients.Remove(socket);
};
socket.OnMessage = message =>
{
Console.WriteLine($"Empfangen: {message}");
socket.Send("Hallo vom Server");
};
});
}
public void SendMessageToAllClients(string message)
{
foreach (var client in clients)
{
client.Send(message);
}
}
// Öffentliche statische Methode, um auf die Instanz des Servers zuzugreifen
public static Server Instance
{
get
{
// Wenn noch keine Instanz existiert, wird sie erzeugt
if (instance == null)
{
instance = new Server();
}
return instance;
}
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment