PDA

View Full Version : aiuto, non mi riesce questo programmino ;(


superOC
19-01-2003, 03:36
esperti di visual basic aiutatemi :D , sto tentando di fare un programmino in visual basic che si metta in ascolto su una porta tcp definita dall'utente e appena qualcuno si connette alla porta il suo ip viene (dovrebbe) venire incollato su una casella di testo, ma ecco il codice:

Private Sub Command1_Click()
Winsock1.LocalPort Text1
Winsock1.Listen
End Sub

Private Sub Form_Load()

End Sub

Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
Winsock1.Accept requestID
Text1 = Winsock1.RemoteHostIP
End Sub

quando qlcn prova a connettersi (ma anche da locale) il programmino mi crasha dandomi un run time error, ho proprio adesso una guida tra le mani x tirare fuori un programma simile ma non m riesce proprio

grazie anticipatamente

Kleidemos
19-01-2003, 08:19
innanzi tutto prova con

Private Sub Command1_Click()
Winsock1.LocalPort = Text1.Text
Winsock1.Listen
End Sub

Poi dimmi

:cool:

cionci
19-01-2003, 09:35
A me cosė funziona :

Private Sub Command1_Click()
Winsock1.LocalPort = Text1
Winsock1.Listen
End Sub

Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
If Winsock1.State <> sckClosed Then Winsock1.Close
Winsock1.Accept requestID
Text1 = Winsock1.RemoteHostIP
End Sub

Kleidemos
19-01-2003, 10:00
Originally posted by "cionci"

A me cosė funziona :

Private Sub Command1_Click()
Winsock1.LocalPort = Text1
Winsock1.Listen
End Sub

Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
If Winsock1.State <> sckClosed Then Winsock1.Close
Winsock1.Accept requestID
Text1 = Winsock1.RemoteHostIP
End Sub


allora anche io avevo un po ragione, no?

cionci
19-01-2003, 10:07
Sė :)

Kleidemos
19-01-2003, 10:09
Originally posted by "cionci"

Sė :)

miracolo!
:eek: :cry:

superOC
19-01-2003, 14:36
grazie per l'aiuto, in pratica senza la funzione
If Winsock1.State <> sckClosed Then Winsock1.Close
non va nulla, come mai? :confused:

cionci
19-01-2003, 18:01
Boh... Io l'ho trovato sul MSDN...
Probabimente il socket č settato per fare una connessione in uscita e quindi č aperto...e va chiuso prima di fargli accettare la conenssione in ingresso...

superOC
19-01-2003, 20:57
Originally posted by "cionci"

Boh... Io l'ho trovato sul MSDN...
Probabimente il socket č settato per fare una connessione in uscita e quindi č aperto...e va chiuso prima di fargli accettare la conenssione in ingresso...
probabile...cmq grazie ancora per l'aiuto :D