Skip to content

Journal de bord

Jour 1 28.11.2023

J'écrit le CDC puis j'étudie la manière de faire du websocket en C#, il y a des proposition avec un ftp client mais je pense que ça prendrai trop de temps, entre lire les bytes etc. donc je continue ma recherche et je suis sur une classe .net websocket. avant de faire du xamarin, je pense déjà créer le serveur stub/mock dans un premier temps afin de pouvoir séquencer mon travail en deux partie plus distinct et pouvoir avoir les résultats de mon application tout de suite

le temps d'installer ce qu'il me faut, je fais le premier diagramme

ui

j'ai trouvé comment faire un server sur un tuto plus simple https://zetcode.com/csharp/websocket/

Jour 2

Maladie

Jour 3 19.12.2023

Le code que j'ai n'ai plus à jour, il faut que je trouve une autre doc

https://stackoverflow.com/questions/30490140/how-to-work-with-system-net-websockets-without-asp-net

un petit guide sur l'utilisation de websocket en .net

https://learn.microsoft.com/en-us/dotnet/api/system.net.httplistener.begingetcontext?view=net-8.0

Pour pouvoir l'utiliser de manière async

https://stackoverflow.com/questions/4019466/httplistener-access-denied

J'ai eu un problème qui fait qu'il faut avoir les droits admin pour pouvoir lancer le serveur

Après avoir essayer, j'ai enfin trouver une méthode et en fait le begingetcontext ne me sert à rien, je n'avais pas vu le while dans le premier bout de code

après de longues minutes ou je voulais tester la connection entre mon réseau local et mon téléphone j'ai découvert que je devais manuellement ouvrir le port avec le firewall windows

https://ec.europa.eu/digital-building-blocks/sites/display/CEKB/How+to+open+a+port+on+the+firewall

la prochaine fois, je commence le developpement de l'app

jour 4

j'ai fini l'application sans difficulté je vais commencer à m'amuser avec

jour 5

j'ajoute un changement afin que le serveur prenne toujours la dernière carte réseau, il faudraitque je rajoute une option pour choisir l'ip

je vais travailler sur les personalisation de l'app

j'ai eu énormément de bug pour changer l'icon de l'applicaiton, voici la marche à suivre https://github.com/dotnet/maui/issues/7786

Jour 6

Je vais me mettre sur un système pour avoir un systeme de swipe afin de pouvoir controler la souris

https://stackoverflow.com/questions/43186122/xamarin-how-to-get-cursor-touch-coordinates-position-x-and-y

la solution ne marche pas alors

https://stackoverflow.com/questions/73994251/implementing-touchtracking-in-net-maui

donc

https://github.com/FreakyAli/Maui.FreakyEffects il manque des dépendences lors de l'installation de freaky effects, je dois installer skiasharp et skiasharpviews

j'ai un probleme, le package semble corropu et bien que le git n'indique aucune différence, le package nuget semble etre installer pas installable

j'ai régler le problème en allant modifier le csproj a la main

https://learn.microsoft.com/en-us/answers/questions/975093/trying-to-migrate-xamarin-forms-effect-functionali ça ne marche pas non plus

https://github.com/vapolia/MauiGestures/tree/main

ça ne marche pas non plus

Jour 7

Je vais avancer la documentation, par la même occasion, je vais finir de commenter mon code afin de voir si je peut utiliser certains outils automatiques comme Doxygene

J'ai découvert aussi que il y avait une taille limite aux tailles des arrays en c# visiblement, ça dépends du processeur et du framework, il faudra que je teste un programme qui vérifie la limite

Jour 8

Je ne compte plus rajouter de fonctionalité, dans un premier temps ce matin je vais écrirer la documentation utilisateur puis par la suite, je vais faire le formatage du code. pour l'instant tout est dans la vue.

En voulant prendre des captures d'écran je me suis rendu compte d'un manque dans l'interface du serveur, on ne peut pas choisir l'adresse ip utilisé.

je vais donc rajouter une textbox pour se faire.

Vu le nombre de crash que j'ai eu lors du serveur, je vais mettre une sécurité sous la forme d'un try catch

Après discussion avec mr Zanardi, dans le serveur, je vais enlever le while true du serveur, et lors du refactoring, je vais le mettre dans une task/thread. et enlver une while true inutile car il y a un await dedans

maintenant que j'ai écrit la documentation, pour le coté serveur, je compte refactorisé le code afin de mettre tout ça dans des objets

je pense que pour l'objet de websocket, je vais en faire un singleton