PDA

View Full Version : [VB6] client server tcp


andreapav
27-05-2009, 14:10
Ciao a tutti,
sto facendo un piccolo sistema client-server tcp/ip che poi dovrò integrare in un'applicazione. Sto usando VB6 e il socket winsock.
Il sistema va ma il mio problema è che dopo aver chiuso una connessione devo aspettare 2 minuti per poter riaprirla, credo sia perchè viene mantenuta la porta occupata e ci sarà un timeout... qualcuno sa come togliere sto timeout e far considerare solo la mia istruzione winsock2.close?! Non posso aspettre sempre 2 minuti!!

Praticamente il codice è questo (risparmio la definizione porte e indirizzo):

client:
Private Sub CmdConnetti_Click()
If Me.Winsock1.State <> sckClosed Then
Me.Winsock1.Close
End If
Me.Winsock1.Connect
End Sub

Private Sub CmdClose_Click()
Me.Winsock1.Close
End Sub


server:
Private Sub CmdConnect_Click()
If Me.Winsock2.State <> sckClosed Then
Me.Winsock2.Close
End If
Me.Winsock2.Listen
End Sub

Private Sub Winsock2_ConnectionRequest(ByVal requestID As Long)
If Me.Winsock2.State <> sckClosed Then
Me.Winsock2.Close
End If
Me.Winsock2.Accept requestID
End Sub

Private Sub Winsock2_Close()
Me.Winsock2.Close
Me.Winsock2.Listen
End Sub

Grazie a chiunque mi dica qualcosa! ciao!

MarcoGG
28-05-2009, 13:43
Credo che anche la scelta della porta influisca su questo. Usi per caso la porta 80 ? Già provato con più porte - Stesso problema ?
Ci sono per caso firewall attivi sui PC che usi per il test ?