estoy trabajando con una aplicación comercial que está lanzando un SocketException con el mensaje,una conexión existente forzosamente fue cerrada por el host remoto
An existing connection was forcibly closed by the remote host
Esto sucede con una conexión de socket entre el cliente y el servidor. La conexión está viva y bien, y se están transfiriendo montones de datos, pero luego se desconecta de la nada.
¿Alguien ha visto esto antes? ¿Cuáles podrían ser las causas? Puedo adivinar algunas causas, pero también hay alguna forma de agregar más en este código para averiguar cuál podría ser la causa?
Cualquier comentario/ideas son bienvenidas.
... La última ...
tengo algo de la tala de algunos trazado .NET,
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
Basado en otras partes del registro que he visto el hecho de que se dice '0 # 0 'significa que se está enviando un paquete de 0 bytes de longitud. Pero, ¿qué significa esto realmente?
Una de las dos posibilidades que está ocurriendo, y no estoy seguro de qué,
1) La conexión se está cerrando, pero los datos a continuación, se están escribiendo en la toma de corriente, creando así la excepción anteriormente. El 0 # 0 simplemente significa que no se envió nada porque el socket ya estaba cerrado.
2) La conexión aún está abierta, y se está enviando un paquete de cero bytes (es decir, el código tiene un error) y el 0 # 0 significa que un paquete de cero bytes está tratando de enviarse.
¿A qué te refieres? Puede que no sea concluyente, supongo, pero tal vez alguien más haya visto este tipo de cosas.
Por favor, nadie está dispuesto a adivinar cuál es tu problema. Publica tu código! – ChaosPandion
Haha, OK, lo siento. Pero el código es demasiado grande y complicado para que yo lo entienda y he estado trabajando con él por un tiempo. Iré con wireshark, y si de alguna forma se reduce algo, podría publicar algo de wireshark, y/o algún código, si corresponde. – peter
@peter - No hay necesidad de disculparse. Es difícil escribir con un signo de exclamación y no parecer enojado/hostil. – ChaosPandion