Jump to content

Petit Tchat Web en c# ,html ,css , javascript


aurelien974
 Share

Recommended Posts

Je suis un peux nul en design.

J'ai aussi une version Node js que je vais ajouter après dans le sujet. 

Aux niveau serveur en c sharp se qu'il faut faire attention de faire des gros fonction qui prend temps à charger si non ça freeze le navigateur mdr ! 

donc si vous voyer des threads un peux partout c'est normal x")

Link to comment
Share on other sites

Hum, beaucoup de points négatifs dans ton code, on voit que tu es encore débutant à ta façon de coder!

Déjà, tout est en Synchrone, c'est pour ça que tu sur-utilise les threads, ce qui, avec ta façon de faire (TROP DE THREADS) n'est pas conseillée, voir même bannie.

Pour ce qui est de l'aspect réseau, stocker et envoyer tout le HTML à chaque message est très dangeureux: Out of memory faciles, buffer explodes possibles, la socket ne doit pas être très lourde, sinon ça ralentit tout le bouzin (ce qui explique l'excès de threads), bref, pas très bien tout ça.

Pour te donner une idée, si je me connecte avec nc sur ton serveur, et que je le met en background (donc que la socket n'est plus lue), vue qu'on est en TCP et que tu ne gère pas le tout en nonblocking (asynchrone), eh bien ton serveur ne pourra plus envoyer de données ;).

De plus, revoir la norme de C# te ferais du bien, par exemple, cette ligne:

namespace ServeurWebsocket.Web_Socket
{

doit être transformée en:

namespace ServeurWebsocket
{
namespace Web_Socket
{

bref, je vois pas mal de problèmes, la plupart étant simplement due à ton manque d'experience, mais tu en gagnera en pratiquant.

 

Après, pour un premier test en temps que débutant, c'est pas trop mal, tu dois quand même clairement revoir comment fonctionne un serveur/client (en repartant par la base, donc le bas niveau, pas le C#, regarde la théorie avant la pratique dans ce cas, je t'aurai bien conseillé le C, mais avant de se plonger dans le réseau en C, il faut le maitriser un minimum).

 

Bref, dans l'ensemble, une mauvaise gestion de l'aspect objet: certains objets ont plusieurs rôles, ce qui est due à un mauvais découpage des systèmes et méthodes.

Les threads sont mal utilisés, et sont trop utilisés dans ce contexte.

Apprend à utiliser les socket ASIO qui sont déjà fournies dans les librairies natives de C#.

 

Bref, encore beaucoup à apprendre, et beaucoup à revoir avant d'avoir un projet concluant ;).

 

Cdt,

AlexMog.

  • Upvote 1
Link to comment
Share on other sites

Salut, Pas mal la critique :')  au moins avec des argument convenable :'p . mais tu à raison c'est juste que je voulais déjà une base fonctionnel en c#

(stocker et envoyer tout le HTML à chaque message est très dangereux) oui mais j'ai déjà fait pire. tkt pas x")

Je le refait propre...

C'est générer par Microsoft Visual C Sharp :')

De plus, revoir la norme de C# te ferais du bien, par exemple, cette ligne:

namespace ServeurWebsocket.Web_Socket
{

doit être transformée en:

namespace ServeurWebsocket
{
namespace Web_Socket
{

bref, je vois pas mal de problèmes, la plupart étant simplement due à ton manque d'experience, mais tu en gagnera en pratiquant.

 

Edited by aurelien974
Link to comment
Share on other sites

 Share

×
×
  • Create New...