Oppure

Loading
26/07/08 7:17
.:ViRuS:.
Ciao a tutti ragazzi ho un ENNESIMO stramaledettissimo problema col winsock U_U non ce la faccio più!!!!!


Praticamente ho usato un codice che invia 8000 bytes a botta, e il file da inviare è un img di 1,47 mb

Il trasferimento c'è... scrive i dati però invece di arrivare a 1.47 mb non si ferma mai!!! cioè è come se non ricevesse
Private Const chunk = 8192

Dim data

Open dlg1.filename For Binary As #1
Do While Not EOF(1)
data = Input(chunk, #1)
tcp.SenData data
pause 400
DoEvents
Loop

tcp.senddata "EndTransfer"
close #1


-.-" continua ancora... siamo a 13 mb di grandezza!!


Forse ho sbagliato io qualcosa nel codice che invia? perchè quello che riceve ha solo il compito di scrivere i dati..

PerFavore mi aiutate?

GRazie 1000!!!
aaa
26/07/08 8:28
GrG
La stringa "EndTransfer" arriva al server?
Ultima modifica effettuata da GrG 26/07/08 8:28
aaa
26/07/08 18:54
.:ViRuS:.
Si ad arrivare arriva... ma la esegue mooolto dopo... credo che sia nell'invio l'errore...
aaa
26/07/08 19:58
gantonio
Il problema e' nel codice che riceve ...
aaa
27/07/08 7:13
.:ViRuS:.
Ecco allora il codice che riceve.. non credo ci siano errori...


S = data
V = Split(S, ",")

If V(0) = "/ReceiveFile" Then

  Open App.Path & "\" & V(1) For Binary As #9
  TCP.SendData "OK"
  End If
  
  S = data
V = Split(S, "omfglol")

Do Until V(0) = "/BinaryData"
TCP.GetData data
DoEvents
Loop


If V(0) = "/BinaryData" Then
Put #9, , V(1)
End If

If data = "EndTransfer" Then
Close #9
End If




GRazie dell'aiuto!!!
aaa
27/07/08 7:29
gantonio
Postato originariamente da .:ViRuS:.:
Ecco allora il codice che riceve.. non credo ci siano errori...


Ma questo codice NON corrisponde a quello del client. Quindi, o hai modificato questo, o hai modificato quello del client.

Come si puo' leggere, il server si aspetta una stringa

/ReceiveFile

per iniziare la ricezione del file (e il tuo client non la manda) e si aspetta la stringa

/BinaryData

per indicare un blocco di dati binari e anche questa il tuo client non la invia ...

In piu', questo server, suddivide i dati in ingresso in base alla stringa

omfglol

ma questo non riesco a comprendere perche' lo faccia ... probabilmente anche questo codice e' stato modificato in maniera non corretta ...

Per riepilogare, il codice del server non e' completamente corretto e comunque si aspetta delle informazioni che il codice del client non gli fornisce affatto perche' e' stato modificato.

aaa
27/07/08 19:07
.:ViRuS:.
Sisi la /receiveFile la riceve... ma non è in questa parte di codice...


ho aggiustato il codice mettendo tcp.senddata "/BinaryDataomfglol" & data

lo splitt avviene perchè ci sono molte funzioni tra client e server.. e devo usare solo una socket...


provo con questi cambiamenti.. sperando che funzioni ...

Nel Caso posto qui... Grazie mille dell'aiuto!!!

Ma questo codice NON corrisponde a quello del client.


sisi corrisponde al client... cosa avrebbe di strano?
Ultima modifica effettuata da .:ViRuS:. 27/07/08 19:09
aaa
27/07/08 20:03
gantonio
Postato originariamente da .:ViRuS:.:
sisi corrisponde al client... cosa avrebbe di strano?


No ... cosa dici?

Il codice del client che hai mostrato nel primo post NON corrisponde al codice del server ... Il server si aspetta tutte le stringhe che ti ho detto, di cui non c'e' traccia nel client ...

aaa