SORU
15 EYLÜL 2008, PAZARTESİ


java.net.SocketException: Connection reset

Aşağıdaki hata bir yuva okumak için çalışırken alıyorum. O InputStream ve bu hatayı alıyorum readInt() yapıyorum. Belgelere bu araştırma bağlantının istemci tarafı bağlantı kapalı olduğunu göstermektedir. Bu senaryoda, sunucu benim.

İstemci günlük dosyaları için erişimi var ve bağlantıyı kapatmadan değil, ve aslında günlük dosyalarını bağlantıyı kapatıyorum öneririz. Bu yüzden herkes bu neden oluyor bir fikri olan var mı? Kontrol etmek için ne? Bu belki eşikleri ulaşan yerel kaynakları var ne zaman çıkar?


Aşağıdaki çizgi var dikkat ediyorum:

socket.setSoTimeout(10000);

sadece readInt() önce. Bu (uzun hikaye) için bir sebep yok, ama merak ettim, bu belirtilen hata neden olabilir durumlar vardır? Sunucu benim IDE içinde çalışan ben ve benim IDE kesme takılıp gitmem oldu, ve ben o zaman aynı hataları benim IDE benim kendi günlüklerini görünmeye başlar fark ettim.

Her neyse, ondan bahsetmek, umarım bir aldatmaca değil. :-(

CEVAP
29 Kasım 2010, PAZARTESİ


Birkaç olası nedeni vardır.

  1. Diğer ucunu kasten bağlantı, burada belge olarak bu herhangi bir şekilde sıfırladı. Uygulama yazılımı için nadir ve genellikle yanlış, bunu yapmak için, ama ticari yazılım için bir bilinmeyen değil.

  2. Daha yaygın olarak, diğer ucunu zaten normalde kapalı olan bir bağlantı yazarak neden olur. Diğer bir deyişle uygulama protokolü hatası.

  3. Ayrıca tampon almak soket okunmamış veri olduğunda, bir yuva kapanış neden olabilir.

  4. Windows 'Yazılım', 'bağlantı sıfırlandı', ağ sorunları, ucundan göndererek neden olur. aynı şey değil ki iptal bağlantı neden Bu konuda Microsoft Bilgi Bankası makale var.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • chrmoe

    chrmoe

    7 Kasım 2006
  • Goran Dimov

    Goran Dimov

    1 HAZİRAN 2014
  • RiverCityGraphix

    RiverCityGra

    6 Ocak 2012