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!
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!