Oppure

Loading
24/10/07 12:10
P4p3r0g4
estratto il codice neceesrio dal mio esr.

INVIO
Open Path For Binary As #1
wsk.SendData "down"
DoEvents
sentdata = Space(536)
For conteggio = 0 To CLng(LOF(1) / 536)
Get #1, conteggio * CLng(536) + 1, sentdata
wsk.SendData sentdata
DoEvents
Next conteggio
wsk.SendData "Ter"
DoEvents
Close #1



RICEZIONE
Select Case Wsstate
Case 0
If Datiricevuti = "down" Then
Wsstate = 2
Open  path For Binary As #1
End If
Case 2
If Datiricevuti = "Ter" Then
Close #1
Wsstate = 0
Else
Put #1, , Datiricevuti
End If
End Select
aaa
24/10/07 12:13
P4p3r0g4
Da dichiarare le variabili, ho già eliminato un controllo nella ricezione, 536 è la lunghezza massima di un pacchetto winsock per limitare gli errori impostiamo gli invii già su questo valore manca la connessione dei due ws e il settaggio in entrambi della variabile path
aaa
24/10/07 12:53
GrG
Comunque credo sia impossibile rendere "invisibile" il processo del tuo programma dal taskmanager.
Tuttavia se ti può essere utile c'è un modo x impedire che il processo del tuo programma venga chiuso. Ci sono degli svantaggi xò ad utilizzare questo metodo, infatti non puoi decidere come chiamare il tuo programma. Se tu chiami il tuo programma services.exe, anke il processo del programma si kiamerà services.exe, ma se tu provi a kiudere il processo ti darà errore xkè il computer lo "confonde" con il processo di sistema..
esistono anke altri processi di sistema e se tu kiami il tuo programma come 1 di loro windows non lo terminerà dandoti un messaggio di errore.
eccone un'altro:
csrss.exe
(ce ne sono anke altri...)
Spero di essere stato kiaro (anke se ne dubito);
se c sn problemi postami:k:
Ultima modifica effettuata da GrG 24/10/07 12:55
aaa
24/10/07 13:01
tranquillo GrG ho capito e grazie!! (Anche se ci avevo già pensato :P)

Ora provo il tuo esempio Paperoga thanks ^_^
24/10/07 13:13
eh no il tuo esempio non va molto, cioè mi si dovrebbe salvare un foto in C: da 166 kb pero si salva solo una foto ma di 0 byte... credo che il server che riceve apra il file ma non ci scriva niente! :-|
24/10/07 14:38
P4p3r0g4
Non chiedermi perchè (anche perchè è illogico il tutto) ma togliendo il select case funziona.

Dim datiricevuti As String
Wsk.GetData datiricevuti
If datiricevuti = "down" Then
Open Path For Binary As #1
Exit Sub
End If
If datiricevuti = "Ter" Then
Close #1
Else
List1.AddItem datiricevuti
Put #1, , datiricevuti
End If
aaa
24/10/07 14:54
Grande P4p3r0g4 !!! Ora va! Pero l'ho messo in un mio programma e non va.. non si crea il secondo file. Credo sia il client a non inviarlo perche non mi scrive nemmeno "Immagine Inviata". Guarda il codice:


With CD1
.FileName = ""
.Filter = "File Immagine (bmp, jpg, gif, ico, png)|*.bmp;*.jpg;*.gif;*.ico;*.png"
.DialogTitle = "Seleziona immagine da inviare"
End With
CD1.ShowOpen
If FileName <> "" Then
Open CD1.FileName For Binary As #1
WinClient.SendData "down"
DoEvents
sentdata = Space(536)
For conteggio = 0 To CLng(LOF(1) / 536)
Get #1, conteggio * CLng(536) + 1, sentdata
WinClient.SendData sentdata
DoEvents
Next conteggio
WinClient.SendData "Ter"
DoEvents
Close #1
MsgBox "Immagine inviata"
End If
Ultima modifica effettuata da 24/10/07 15:52
24/10/07 15:59
Beh piu o meno ho risolto...anche se non bene...avrei voluto mettere che il client mandava il file solo se il CommonDialog.Filename <> ""
Cmq grazie a tutti Boyz
Ultima modifica effettuata da 24/10/07 19:09