J'écris deux applications de console, un client et un serveur. Je suis un peu coincé à deux choses, ce qui semblait assez facile d'abord ..C# - Protection par mot de passe côté serveur
# 1: Je veux écrire une fonction pour le morceau de code suivant, qui convertit bits à une chaîne, mais je ne peux pas Il suffit de le comprendre. Le serveur plante toujours lorsque je l'utilise. Ma fonction est un peu différent de celui-ci, mais c'est parce que mon code actuel doit inclure les informations de connexion, et je pense qu'il ya une meilleure façon de le faire:
byte[] b = new byte[100];
int k = s.Receive(b);
string packet = null;
for (int i = 0; i < k; i++)
{
Console.Write(Convert.ToChar(b[i]));
packet = packet + Convert.ToChar(b[i]);
}
Je suppose que la fonction est pas le problème , mais comment je l'utilise est. Toute aide serait très appréciée.
Edit: J'appelle et l'utiliser comme ceci:
byte[] b = new byte[100];
string response = BitConvert(b);
if (response == "Hi there")
# 2 Je veux que le client envoie un paquet AlwAYS juste une fois, avec un mot de passe. Et si ce mot de passe ne correspond pas au mot de passe mentionné en tant que chaîne dans le serveur, il doit fermer la connexion avec le client.
Je sais comment envoyer le paquet une seule fois, mais je ne sais pas comment vérifier le paquet dans le serveur une seule fois pour chaque client. En d'autres termes, pour l'instant, le serveur n'a aucun moyen de savoir si le client a déjà été authentifié. Donc je suppose que le client a besoin d'une sorte d'ID de socket, et le serveur a besoin d'une table avec l'ID, et un booléen pour voir s'il est autentiqué ou non.
Merci, c'est beaucoup plus rapide que ce que j'utilise en ce moment! – Nick