OVH Cloud OVH Cloud

Receive d'un client C#

2 réponses
Avatar
Patrick Bastin
bonjour,

voila je dois faire une page Web qui communique avec un=20
serveur, pour cela j'envoie une requete. Cette requete me=20
permet de recevoir des donn=E9es pour affichage.L'envoi de=20
la requete se passe bien, mon serveur la recoit et il=20
envoi les donn=E9es correctement. Maintenant quand je=20
programmais en C# ce type de serveur j'utilisais la=20
fonction "Application.DoEvents()" qui me permettait la=20
reception de l'enti=E8ret=E9 de mes donn=E9es (cette fonction me=20
permettait de ne pas boucler sans arr=EAt, enfin de lib=E9rer=20
le cpu), car le travail du serveur peut durer quelques=20
secondes avant qu'il y ai une r=E9ponse. Comme je vois avec=20
ASP.NET il n'existe pas de fonction similaire. Enfin si=20
quelqu'un aurait une id=E9e pour m'aider.

Ci joint le code que j'utilisais en C#.


btBuffer =3D System.Text.Encoding.Default.GetBytes
(strTemp.ToCharArray());
Client.GetStream().Write(btBuffer,0,btBuffer.Length);

while(!Client.GetStream().DataAvailable)
{
Application.DoEvents() =09
}
=09
=20
if(Client.GetStream().DataAvailable)
{
Client.GetStream().Read(btInBuffer,0,btInBuffer.Length);
strTemp =3D System.Text.Encoding.Default.GetString
(btInBuffer);
}
=20
Response.Write(strTemp);
Client.Close();

Icrem.
Patrick

2 réponses

Avatar
sebastien981_nospam
Bonjour,

pourquoi n'utilisez vous pas un service web pour la communication vous
pourriez ainsi faire des appels asynchrones dessus

a lire

http://msdn.microsoft.com/library/fre/default.asp?url=/library/fre/vbcon/html/vbtskcallingwebserviceasynchronously.asp

Sebastien

Patrick Bastin a écrit :
bonjour,

voila je dois faire une page Web qui communique avec un
serveur, pour cela j'envoie une requete. Cette requete me
permet de recevoir des données pour affichage.L'envoi de
la requete se passe bien, mon serveur la recoit et il
envoi les données correctement. Maintenant quand je
programmais en C# ce type de serveur j'utilisais la
fonction "Application.DoEvents()" qui me permettait la
reception de l'entièreté de mes données (cette fonction me
permettait de ne pas boucler sans arrêt, enfin de libérer
le cpu), car le travail du serveur peut durer quelques
secondes avant qu'il y ai une réponse. Comme je vois avec
ASP.NET il n'existe pas de fonction similaire. Enfin si
quelqu'un aurait une idée pour m'aider.

Ci joint le code que j'utilisais en C#.


btBuffer = System.Text.Encoding.Default.GetBytes
(strTemp.ToCharArray());
Client.GetStream().Write(btBuffer,0,btBuffer.Length);

while(!Client.GetStream().DataAvailable)
{
Application.DoEvents()
}


if(Client.GetStream().DataAvailable)
{
Client.GetStream().Read(btInBuffer,0,btInBuffer.Length);
strTemp = System.Text.Encoding.Default.GetString
(btInBuffer);
}

Response.Write(strTemp);
Client.Close();

Icrem.
Patrick


Avatar
Patrick Bastin
Parceque sur le serveur le système d'exploitation c'est
Windows NT 4.0 et oui malheureusement ca existe encore.
Mais merci quand même.

-----Message d'origine-----
Bonjour,

pourquoi n'utilisez vous pas un service web pour la


communication vous
pourriez ainsi faire des appels asynchrones dessus

a lire

http://msdn.microsoft.com/library/fre/default.asp?


url=/library/fre/vbcon/html/vbtskcallingwebserviceasynchron
ously.asp

Sebastien

Patrick Bastin a écrit :
bonjour,

voila je dois faire une page Web qui communique avec un
serveur, pour cela j'envoie une requete. Cette requete




me
permet de recevoir des données pour affichage.L'envoi




de
la requete se passe bien, mon serveur la recoit et il
envoi les données correctement. Maintenant quand je
programmais en C# ce type de serveur j'utilisais la
fonction "Application.DoEvents()" qui me permettait la
reception de l'entièreté de mes données (cette fonction




me
permettait de ne pas boucler sans arrêt, enfin de




libérer
le cpu), car le travail du serveur peut durer quelques
secondes avant qu'il y ai une réponse. Comme je vois




avec
ASP.NET il n'existe pas de fonction similaire. Enfin si
quelqu'un aurait une idée pour m'aider.

Ci joint le code que j'utilisais en C#.


btBuffer = System.Text.Encoding.Default.GetBytes
(strTemp.ToCharArray




());
Client.GetStream().Write(btBuffer,0,btBuffer.Length);

while(!Client.GetStream().DataAvailable)
{
Application.DoEvents()
}


if(Client.GetStream().DataAvailable)
{
Client.GetStream().Read(btInBuffer,0,btInBuffer.Length);
strTemp = System.Text.Encoding.Default.GetString
(btInBuffer);
}

Response.Write(strTemp);
Client.Close();

Icrem.
Patrick




.