elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Ayuda con winsock.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con winsock.  (Leído 5,199 veces)
ciruit

Desconectado Desconectado

Mensajes: 121


Ver Perfil
Ayuda con winsock.
« en: 31 Diciembre 2005, 18:22 pm »

Buenas.
Estoy en un proyecto "chat" entre dos pc. He creado sólo un formulario el cual actua como cliente y server. Cuando se hace la petición de A hacia B, sólo B queda server. Si se desconecta uno los dos pasan a ser servers y asi...
El punto es que, una vez establecida la conexión, si cierro el socket en A (cliente) los dos son server (arriba lo explique xD) y si me quiero volver a conectar desde B hacia A (ahora al revéz) no hay ningun problema. PERO si alguno está actuando como cliente, y desde el mismo cierro el socket ya no me puedo volver a conectar al server que estaba con anterioridad (en netstat me aparece TIME_WAIT, osea como si tuviera algo pendiente que recibir, cosa que no debería aparecer), quedando bloqueada tambíen la petición de conexión desde el server al cliente. Osea ya no funciona ninguno de los dos casos. Entonces en necesario cerrar tanto server como cliente para que vuelvan a la normalidad.

Ahora la pregunta del millón:
¿Que puede estar obstruyendo la re-petición desde un mismo punto a otro?

Gracias.


En línea

MaLkAvIaN_NeT

Desconectado Desconectado

Mensajes: 213


MaLkAvIaN_NeT


Ver Perfil WWW
Re: Ayuda con winsock.
« Respuesta #1 en: 31 Diciembre 2005, 18:55 pm »

..Bueno no entendí muy bien pero podrías resetear los sóckets antes de reutilizarlos.

salu2


En línea

a por las buenas ideas
Slasher-K


Desconectado Desconectado

Mensajes: 1.477


Ver Perfil
Re: Ayuda con winsock.
« Respuesta #2 en: 31 Diciembre 2005, 19:35 pm »

Tutorial del control WinSock
http://foro.elhacker.net/index.php/topic,75832.0.html

Tema pegado...

Saludos.
En línea



A la reina de las profundidades que cuida los pasos de una sombra en la noche :*
ciruit

Desconectado Desconectado

Mensajes: 121


Ver Perfil
Re: Ayuda con winsock.
« Respuesta #3 en: 31 Diciembre 2005, 21:50 pm »

Mmmm y ¿cómo lo reseteo?
Gracias por el tutorial. Lo estoy leyendo.
En línea

NYlOn


Desconectado Desconectado

Mensajes: 842


OOOOHHHHHH, TARAGÜIIII xDDDDDD


Ver Perfil WWW
Re: Ayuda con winsock.
« Respuesta #4 en: 1 Enero 2006, 02:06 am »

Citar
Mmmm y ¿cómo lo reseteo?
Código:
Winsock1.Close
Winsock1.Listen / .Connect 'depende si es cliente o servidor.

Saludos y Feliz año a todos!.-
En línea

ciruit

Desconectado Desconectado

Mensajes: 121


Ver Perfil
Re: Ayuda con winsock.
« Respuesta #5 en: 1 Enero 2006, 17:58 pm »

Emmm... eso lo hago siempre ;D.
El punto es que el cliente no es capaz de cerrar correctamente la conexión por el puerto especificado.
He hecho una prueba que primero ocupe un puerto y en la próxima conexión otro diferente y no hay problema tanto desde cualquier punto.
Es decir el puerto queda ocupado y no se cierra por completo a pesar de que cerre el socket.
Tal vez existe alguna función capaz de cerrar completamente una conexión sin importar su estado.
Ojala me puedan ayudar.
Saludos.
En línea

NYlOn


Desconectado Desconectado

Mensajes: 842


OOOOHHHHHH, TARAGÜIIII xDDDDDD


Ver Perfil WWW
Re: Ayuda con winsock.
« Respuesta #6 en: 1 Enero 2006, 22:31 pm »

No estas usando un OCX verdad?? Eso de indicar que se cierren los puertos e igual quedan abiertos creo que sucede con las APIs.
Intenta destruyendo los sockets, hay una funcion que lo hace,
buscala.

Un saludo y feliz año.-
En línea

Sancho.Mazorka


Desconectado Desconectado

Mensajes: 480


Gamer & Programador


Ver Perfil WWW
Re: Ayuda con winsock.
« Respuesta #7 en: 2 Enero 2006, 00:38 am »

hola eso me pasa a mi tambien pero es porque si cerras el servidor con
Código:
ws.close
el cliente queda en Cerrando conexion que seria el estado numero 8 y para solucionarlo tendrias que hacer antes de cerrarlo hacer
Código:
ws.sendata "cerrar"
y en el dataarrival del otro poner esto
Código:
ws.getdata datos, vbstring
if datos = "cerrar" then ws.close 'osea si es el server ws.close y despues ws.close y si no ws.close solo

PD: espero que te sirva el mas cerca fue NYlOn.


Sancho Mazorka     :P
En línea

Ganador Xeon Web Server ! ! !    Sancho.Mazorka :D
http://foro.elhacker.net/index.php/topic,171903.75.html


NYlOn


Desconectado Desconectado

Mensajes: 842


OOOOHHHHHH, TARAGÜIIII xDDDDDD


Ver Perfil WWW
Re: Ayuda con winsock.
« Respuesta #8 en: 2 Enero 2006, 01:08 am »

O sino, en los eventos Close y Error podes poner Winsock1.Close

Saludos.-
En línea

ciruit

Desconectado Desconectado

Mensajes: 121


Ver Perfil
Re: Ayuda con winsock.
« Respuesta #9 en: 2 Enero 2006, 04:13 am »

hola eso me pasa a mi tambien pero es porque si cerras el servidor con
Código:
ws.close
el cliente queda en Cerrando conexion que seria el estado numero 8 y para solucionarlo tendrias que hacer antes de cerrarlo hacer
Código:
ws.sendata "cerrar"
y en el dataarrival del otro poner esto
Código:
ws.getdata datos, vbstring
if datos = "cerrar" then ws.close 'osea si es el server ws.close y despues ws.close y si no ws.close solo

PD: espero que te sirva el mas cerca fue NYlOn.


Sancho Mazorka     :P

Mmmm... creo que va por ahi la cosa. Pero el punto es que al presionar un botón que le puse "Desconectar" lo primero que hace es llamar al método CLOSE y además en el evento Close también esta puesto el método close entonces es extraño.
Voy a probar lo que me dices y te cuento.

PD: ¿Destruir un socket? :shocked:
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda Winsock
Programación Visual Basic
mazzoconi 9 3,619 Último mensaje 4 Mayo 2012, 00:54 am
por mazzoconi
Ayuda winsock
Programación Visual Basic
ZeroxHack 3 2,251 Último mensaje 7 Octubre 2012, 18:07 pm
por raul338
Ayuda !!! Winsock Multi Puertos ¿? URGENTE!
Programación Visual Basic
Brian1511 9 7,494 Último mensaje 17 Diciembre 2012, 08:18 am
por BlackZeroX
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines