Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: juancho77 en 3 Noviembre 2008, 05:18 am



Título: CSocketPlus, winsock, address already in use
Publicado por: juancho77 en 3 Noviembre 2008, 05:18 am
Miren, no se como hacer para cerrar correctamente los sockets. O sea, cuando aprieto desconectar desde el terminal central (host) me gustaria que todos los clientes pierdan la conexion, y que el arreglo de sockets se limpie. Supongo que el codigo esta bien, pero cuando aprieto desconectar, y luego escuchar otra vez, me tira el error ese "ADDRESS ALREADY IN USE". Supongo que me estara faltando alguna instruccion.

Código
  1. Private Sub botonDescon_Click()
  2. For i = 0 To numSocket - 1
  3.    MsgBox (i)
  4.    socketArray.CloseSck i
  5.    sockLista.RemoveItem (i)
  6. Next i
  7. numSocket = 0
  8. End Sub
  9.  
  10. Private Sub botonEscuchar_Click()
  11. If (txtPuerto.Text = "") Then
  12.    MsgBox ("Not a valid port.")
  13. Else
  14.    socketArray.ArrayAdd numSocket
  15.    socketArray.Bind numSocket, txtPuerto.Text, socketArray.LocalIP(numSocket)
  16.    socketArray.Listen numSocket
  17.    labelEstado.Caption = "STATE: Listening at SCK " & numSocket
  18. End If
  19. End Sub


No uso winsock. Uso CSocketPlus que es muy similar en cuanto a instrucciones. Si alguien sabe para winsock, que comente igual porq es aplicable. gracias.


Título: Re: CSocketPlus, winsock, address already in use
Publicado por: TUNOVATO en 3 Noviembre 2008, 21:11 pm
compa saludos.

tenes que descargarlos de memoria (creo que esa es tu soliucion)


Título: Re: CSocketPlus, winsock, address already in use
Publicado por: juancho77 en 4 Noviembre 2008, 03:37 am
y como hago?


Título: Re: CSocketPlus, winsock, address already in use
Publicado por: seba123neo en 4 Noviembre 2008, 03:52 am
tenes que hacerle un Set como cuando seteas la clase, pero esta vez = Nothing


Título: Re: CSocketPlus, winsock, address already in use
Publicado por: TUNOVATO en 7 Noviembre 2008, 21:13 pm
exacto esa es la respuesta..!