bonjour
(bonsoir plutot)
avant de me coucher j'aimerai poser une question
j'ai un bout de code qui me permet de recuperer des infos sur un serveur
pour le moment ce code est en test. il n'est pas fini
mais il marche
j'aimerai avoir votre avis sur deux choses
1: est il "correct" (propre.) il fonctionne mais je pense qu'il n'est pas tellement optimisé
je developpe pour pocket pc donc en c# avec le .net compact framework. mais toutes les classes que j'utilise existent aussi dans le .net framework "normal"
2: j'ai un probleme:
je suis obligé de mettre un thread.sleep(2000) sinon je ne reçoit pas la reponse du serveur (en l'occurence pour FTP ou alors un GET sur google.fr)
comment puis je eviter ça pour que je ne perde pas de temps pour rien et que j'evite de bloquer le pocket pc?
voici le code:
this
.s = newSocket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType
.Tcp);
IPHostEntry IPhostentry = Dns
.GetHostEntry(sServeur);
IPAddress
[] IPadress= IPhostentry.AddressList;
IPEndPoint EndPoint = newIPEndPoint
(IPadress[0], iPort);
this
.s.Connect(EndPoint);
if (!this
.s.Connected)
{
return
"Erreur impossible de se connecter à: "
+ EndPoint.Address.ToString();
}
else
{
byte[] buffer = System.Text.Encoding
.UTF8.GetBytes(sParametres);
this
.s.Send(buffer);
System.Threading.
Thread
.Sleep(2000);
string reponse = ""
;
while (this
.s.Available > 0)
{
int iSizeReponse = this
.s.Available;
byte[] buffer_reponse = newbyte
[iSizeReponse];
int count = this
.s.Receive(buffer_reponse);
reponse = reponse +
Encoding
.UTF8.GetString(buffer_reponse, 0, buffer_reponse.Length);
}
this
.s.Close();
if
(reponse.Length > 0)
{
return
reponse;
}
else
{
return
"null"
;
}
merci d'avance
warenbe
la société de consommation porte mal son nom car un con fait rarement une sommation avant de dire une connerie en société 