Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
ho un problema un po' difficile da risolvere,..... sto' realizzando una applicazione p2p....quando eseguo una ricerca se i risultati sono troppi mi da' questo errore ....
il datagramma e' troppo grande per essere inserito nel buffer e verra' abbreviato.....
la ricerca io la eseguo cosi', carico i risultati su una variabile e poi li invio.....suppongo che questo errore sia ci sia perche' ho superato il limite di capienza delle variabile.....
avete idea di come poter sistemare?.......mi dispiacerebbe limitare il numero di risultati.....
mi da errore quando mi restituisce 360 risultati, ogni risultato contiene il nome del file, il codice hash e l'ip virtuale......
quindi la variabile dovrebbe contenere parecchio.....credo che sia prorpio per questo che mi errore....
del resto come si puo' supereare i limiti di capienza di una variabile.....
o in alternativa si puo' fare piu' senddata ma non so se sia una cosa giusta da fare.....
Il problema non e' nella variabile ma nel buffer di trasmissione TCP.
Spezza in due o piu' parti il risultato della query e usa piu' Send per trasmettere le varie parti.
()
Newbie
Messaggi: Iscritto:
Postato alle 18:24
Martedì, 14/04/2009
dopo un po' di giorni di tentativi ho risolto in questo modo....
nella parte del send ho introdotto 4 nuove variabili
la prima ir splitta i risultati della ricerca cosi' posso suddividerli per inviarli....
test1 = indica il limite minimo della variabile ir
test2 = al numero massimo di ricerche da inviare nello stesso momento
test = al posto di risultatoriceca , che si cancella ad ogni invio
attraverso un ciclo do while fino a quando la differenza tra UBound(ir) e test2
sara' superirore od uguale a 50 si procede con l'invio.....
cosa ne pensi?
Codice sorgente - presumibilmente VB.NET
ir =Split(risultatiricerca, "£££$$$@@@")
IfUBound(ir) > 50 Then
test1 =LBound(ir)
test2 = 50
DoWhile(UBound(ir)- test2)= 50 Or (UBound(ir)- test2) > 50
Pausa 0.001
For i = test1 To test2
test = test + ir(i)&"£££$$$@@@"
Next i
Ws.SendData"risultato ricerca"&"£££$$$@@@;;;"& test