Ho un problema nel inviare file trammite winsock nel pc della mia lan. Vi posto il codice.
Applicazione nel mio pc.
Private Sub Command1_Click()
Winsock1.Close
Winsock1.LocalPort = Text1.Text
Winsock1.Listen
End Sub
Private Sub Command2_Click()
Winsock1.Close
End Sub
Private Sub Command3_Click()
CommonDialog1.ShowOpen
Text2.Text = CommonDialog1.FileName
End Sub
Private Sub Command4_Click()
Dim file() As Byte
Open Text2.Text For Binary As #1
ReDim file(0 To LOF(1) - 1)
DoEvents
Get #1, , file
Winsock1.SendData file()
Close #1
End Sub
Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
Winsock1.Close
Winsock1.Accept requestID
Form1.Caption = "Connesso."
End Sub
Applicazione nel pc della mia lan.
Private Sub Form_Load()
Winsock1.Connect "192.168.#.#", 9000
End Sub
Private Sub Winsock1_Connect()
Form1.Caption = "Connesso."
End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim file() As Byte
Winsock1.GetData file
Put #1, , file()
DoEvents
End Sub
Il tutto si collega perfettamente. L'errore mi viene nel ricevere il file, infatti mi genera l'errore di run time 52 bad filename or number. Ho fatto debug e mi evidenzia la seguente riga di codice.
Put #1, , file()
Ma non capisco il perchè! Spero che qualcuno possa mostrarmi la via dell'illuminazione.
|