Ajout de données aléatoires dans la réponse. Cela se produit sur tous les sites et pages, et pour chaque page particulière, ces données sont corrigées. Exemple:Réponse C# ReceiveAsync corrompue
Connection: close
X-Powered-By: PHP/5.4.11
1fb4
<!DOCTYPE html..........
ou
<script>
$('#toggle_debug').cl
134
ick(function() {
Сode:
if (e.BytesTransferred > 0)
{
Response.AddRange(e.Buffer);
if (Response.Count >= MaxContentLength)
{
Final();
}
else
{
e.SetBuffer(0, BufferSize);
e.AcceptSocket.ReceiveAsync(e);
}
}
Réponse - Liste des octets. En outre, StringBuilder et d'autres ont le même problème. Les symboles supplémentaires sont fixes, ne changent pas. Quel pourrait être le problème?
'' Receive' et read' retourner un entier qui vous indique comment ont été lus d'octets. Seulement que beaucoup d'octets dans le tampon sont valides. Vous devez utiliser une boucle si vous voulez tout lire. – CodesInChaos
Pas besoin d'ajouter tout le tampon, et une partie de celui-ci? – user2058005
Je suppose que vous devez utiliser les premiers octets 'e.BytesTransferred' du tampon. Lisez les documents pour plus de détails. Quelque chose comme 'Response.AddRange (e.Buffer.Take (e.BytesTransferred))' – CodesInChaos