Une tentative de connexion a échoué car le parti connecté n'a pas répondu convenablement après une période de temps, ou une connexion établie a échoué
Je rencontre un problème :
Une tentative de connexion a échoué car le parti connecté n'a pas répondu convenablement après une période de temps, ou une connexion établie a échoué car l'hôte connecté n'a pas répondu URL.
Aussi je reçois des question comme:
Système.IO.IOException: Impossible d'écrire des données sur la connexion de transport: Une connexion existante a dû être fermée par l'hôte distant
et
Système.Net.WebException: L'opération a expiré au Système.Net.WebClient.UploadFile(adresse Uri, String méthode, String fileName)
Je sais que cette question a demandé avant, mais croyez-moi, j'ai essayé presque tous unique de résolution à ma fin.
Est étrange c'est que ce problème n'apparaît pas sur ma fin à tous et seulement lorsque le client de tenter d'utiliser ce qui n'est pas constante. Quelques temps mon application fonctionne très bien à la fin de leur trop.
Ce que je suis en train d'accomplir est j'ai créé une application de bureau (Win Forms & C#) et d'essayer de se connecter au client lors de l'envoi de la demande à mon php api serveur est hébergé sur GODaddy.
var request = (HttpWebRequest)WebRequest.Create("url");
if (request != null)
{
#region System.Net.WebException
request.Method = "POST";
if (!string.IsNullOrEmpty(body))
{
var requestBody = Encoding.UTF8.GetBytes(body);
request.ContentLength = requestBody.Length;
request.ContentType = "application/json";
using (var requestStream = request.GetRequestStream())
{
requestStream.Write(requestBody, 0, requestBody.Length);
}
}
else
{
request.ContentLength = 0;
}
request.Timeout = 15000;
request.CachePolicy = new RequestCachePolicy(RequestCacheLevel.BypassCache);
string output = string.Empty;
try
{
using (var response = (HttpWebResponse)request.GetResponse())
{
using (var stream = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(1252)))
{
if (response.StatusCode == HttpStatusCode.OK)
{
while (!stream.EndOfStream)
{
output += stream.ReadLine();
}
output = stream.ReadToEnd();
}
}
}
}
catch
{
//Excaption Caught here
}
}
Merci de m'aider.
Merci d'avance.
Je n'ai pas utiliser n'importe quel port pour mon httpWebRequest. Aussi je ne peux pas utiliser la commande ping à partir de mon ordinateur du client car je n'ai pas accès.
Qui font de ce difficile à résoudre. Le code est OK et vous avez dit que c'est le travail pour vous et parfois pour eux aussi. Je ne sais pas comment, mais vous devrez résoudre les problèmes du réseau de connexions pour vous assurer que c'est pas la question. Désolé je ne pouvais pas être de plus d'aide.
Je sais que c'est dur. Je suis également très difficile à déboguer. Mais qu'en est HttpWebRequest de port vous sont en train de parler? Si son aide vous pouvez voir l'intérieur exception que je reçois quand tout problème s'est produit au client: Système d'.Net.WebException: Une exception s'est produite lors d'une requête WebClient. ---> Système.IO.IOException: Impossible d'écrire des données sur la connexion de transport: Une connexion existante a dû être fermée par l'hôte distant. ---> Système.Net.Les Sockets.Exception socketexception: Une connexion existante a dû être fermée par l'hôte distant au Système.Net.Les Sockets.Socket.Envoyer(Byte[] buffer
Les ports par défaut sont 80 & 443 et la plupart des tous les pare-feu autoriser ces ports, car ceux-ci sont réservés pour http. Si vous pouviez la cause de l'erreur(obtenir l'accès à votre réseau des clients), vous pourriez le débogage et l'étape dans votre application jusqu'à ce que le code supprime la connexion et puis, vous savez ce qui se passe.
OriginalL'auteur Manish | 2015-05-07
Vous devez vous connecter pour publier un commentaire.
Essayez d'ajouter ce...
Article MSDN recommande 12 connexions par UC donc la limite de 12, parce qu'il est hébergé par GoDaddy, donc je suis sûr que le serveur les ressources sont limitées.
Honnêtement, je pense que c'est sur la fin de serveur...je pense que la connexion est établie et puis a un problème. Vous pouvez modifier votre api pour se connecter lorsqu'une connexion est fermée ou à la baisse, ce sera certainement aider. Vous pouvez déboguer et l'étape dans votre programme pour la recherche de problème dans l'application de bureau.
Merci beaucoup @waltmagic. Je vais la résolution ci-dessus et vous le fera savoir.
OriginalL'auteur waltmagic
Je pense que j'ai eu la réponse. La pensée de le publier, afin qu'il puisse aider quelqu'un d'autre.
Il est probablement le particulier de la machine de question ou de problème de serveur, mais dans mon cas, j'ai tenté de Demander.proxy = null et il a travaillé comme un charme.
OriginalL'auteur Manish