İletiyle bir SocketException özel durumu sunan ticari bir uygulama ile çalışıyorum,
Mevcut bir bağlantı uzak ana bilgisayar tarafından zorla kapatıldı
Bu, istemci ve sunucu arasındaki soket bağlantısı ile olur. Bağlantı canlı ve iyi ve yığın veri aktarılıyor, ancak daha sonra bağlantı kesiliyor.
Bunu daha önce gören var mı? Sebepler ne olabilir? Ben birkaç neden tahmin olabilir, ama aynı zamanda neden ne olabileceğini çözmek için bu koda daha fazla eklemek için herhangi bir yolu var mı?
Herhangi bir yorum / fikir bekliyoruz.
... En son ...
Bazı .NET izleme bazı günlük var,
System.Net.Sockets Verbose: 0 : [8188] Socket#30180123::Send() DateTime=2010-04-07T20:49:48.6317500Z
System.Net.Sockets Error: 0 : [8188] Exception in the Socket#30180123::Send - An existing connection was forcibly closed by the remote host DateTime=2010-04-07T20:49:48.6317500Z
System.Net.Sockets Verbose: 0 : [8188] Exiting Socket#30180123::Send() -> 0#0
Günlüğün diğer bölümlerine dayanarak '0 # 0' yazısının 0 bayt uzunluğunda bir paket gönderildiği anlamına geldiğini gördüm. Ama bu gerçekten ne anlama geliyor?
İki olasılıktan biri ortaya çıkıyor ve hangisinden emin değilim,
1) Bağlantı kapatılıyor, ancak veriler sokete yazılıyor, böylece yukarıdaki istisna yaratılıyor. 0 # 0, soket zaten kapalı olduğu için hiçbir şeyin gönderilmediği anlamına gelir.
2) Bağlantı hala açıktır ve sıfır baytlık bir paket gönderilmektedir (yani kodda bir hata vardır) ve 0 # 0, sıfır baytlık bir paketin gönderilmeye çalışıldığı anlamına gelir.
Ne düşünüyorsun? Sanırım sonuçsuz olabilir, ama belki başka biri böyle bir şey görmüş?