Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Redmi Note 15 Pro+ 5G: autonomia monstre e display luminoso, ma il prezzo è alto
Redmi Note 15 Pro+ 5G: autonomia monstre e display luminoso, ma il prezzo è alto
Xiaomi ha portato sul mercato internazionale la nuova serie Redmi Note, che rappresenta spesso una delle migliori scelte per chi non vuole spendere molto. Il modello 15 Pro+ punta tutto su una batteria capiente e su un ampio display luminoso, sacrificando qualcosa in termini di potenza bruta e velocità di ricarica
HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione
HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione
HONOR ha finalmente lanciato il suo nuovo flagship: Magic 8 Pro. Lo abbiamo provato a fondo in queste settimane e ve lo raccontiamo nella nostra recensione completa. HONOR rimane fedele alle linee della versione precedente, aggiungendo però un nuovo tasto dedicato all'AI. Ma è al suo interno che c'è la vera rivoluzione grazie al nuovo Snapdragon 8 Elite Gen 5 e alla nuova MagicOS 10
Insta360 Link 2 Pro e 2C Pro: le webcam 4K che ti seguono, anche con gimbal integrata
Insta360 Link 2 Pro e 2C Pro: le webcam 4K che ti seguono, anche con gimbal integrata
Le webcam Insta360 Link 2 Pro e Link 2C Pro sono una proposta di fascia alta per chi cerca qualità 4K e tracciamento automatico del soggetto senza ricorrere a configurazioni complesse. Entrambi i modelli condividono sensore, ottiche e funzionalità audio avanzate, differenziandosi per il sistema di tracciamento: gimbal a due assi sul modello Link 2 Pro, soluzione digitale sul 2C Pro
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 28-06-2005, 17:41   #1
parisisalvo
Senior Member
 
L'Avatar di parisisalvo
 
Iscritto dal: Nov 2002
Messaggi: 845
Socket TCP Trasferire GROSSI DATI - problema Buffer?

Salve
devo trasferire, delle mega strutture da 22kb ciascuna.
Se attraverso la send inserisco tutta la struttura, dall'altro lato (lato ricevente) vengono ricevuti circa 15 pacchetti da 1,5Kb (sto lavorando in wireless).
La mia domanda è ?
c'e' un metodo migliore? mi convine frammetare da me i dati o lo faccio fare tranquillamente a lui?
seconda cosa...man mano che mi arrivano i dati sul buffer, come li accodo per ottenere un unico buffer?
a) funzione per concatenare stream di bytes ?
b) funzione per copiare da uno stream di bytes tot dati con un ben preciso shift di n byte (tipo bcopy ma con lo shift di n byte) ?
Grazie
Salvo
parisisalvo è offline   Rispondi citando il messaggio o parte di esso
Old 28-06-2005, 22:43   #2
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Quote:
Originariamente inviato da parisisalvo
Salve
Se attraverso la send inserisco tutta la struttura, dall'altro lato (lato ricevente) vengono ricevuti circa 15 pacchetti da 1,5Kb (sto lavorando in wireless).
Normale

I sistemi posix definiscono il flag MSG_WAITALL per la recv che potrebbe esserti di aiuto se usi simili sistemi (unix & co). Personalmente preferisco delle letture multiple (con una poll con timeout se vuoi fare le cose per bene).
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 29-06-2005, 00:30   #3
parisisalvo
Senior Member
 
L'Avatar di parisisalvo
 
Iscritto dal: Nov 2002
Messaggi: 845
Salve, anke io ho optato per delle letture multiple...alla fine i dati sono eterogenei, quindi nn ho problemi a sbatterli tutti dentro un mega buffer...MA HO UN PROBLEMA, in codice...quel che faccio è :
int n;
char *buffer;
char *b;
char *megabuffer;
char *p; // il puntatore che puntera' alla prima posizione libera del megabuffer...

buffer=malloc(2000);
b=malloc(2000);
megabuffer=malloc(20000);
p=megabuffer;
while(1)
{
n=recv(s, buffer,2000,0);
bcopy(buffer,b,n);
...
...
bcopy(b,p,n); // copio da b a p(che punta sul megabuffer) nbyte (appena arrivati che risiedono su b)
p=p+n; //sposto il puntatore in avanti di n bytes x nuovi dati...
}
ovviamente eseguo altri controlli vari...questo è un riassunto del codice...
il problema è che : in un thread il puntatore a carattere p NON viene modificato...ossia l'incremento e l'assegnazione non vengono considerati...(cosi' come SONO COSTRETTO a fare dei malloc, altrimenti la recv o send vanno in errore se eseguite in un thread)
cosa posso fare??? se li faccio girare come processo normale tutto liscio...ma coi thread? cosa è che NON SO ?
parisisalvo è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Redmi Note 15 Pro+ 5G: autonomia monstre e display luminoso, ma il prezzo è alto Redmi Note 15 Pro+ 5G: autonomia monstre e displ...
HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione HONOR Magic 8 Pro: ecco il primo TOP del 2026! L...
Insta360 Link 2 Pro e 2C Pro: le webcam 4K che ti seguono, anche con gimbal integrata Insta360 Link 2 Pro e 2C Pro: le webcam 4K che t...
Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza Motorola edge 70: lo smartphone ultrasottile che...
Display, mini PC, periferiche e networking: le novità ASUS al CES 2026 Display, mini PC, periferiche e networking: le n...
I nuovi chip M5 Pro, Max e Ultra sono se...
Nuove livree, tocca a Haas "Toyota&...
Cambia la Dynamic Island? Con iPhone 18 ...
Xbox Cloud Gaming: in arrivo l'accesso s...
Snapdragon 8 Elite Gen 6 Pro potrebbe co...
L'IA è ovunque, ma alle aziende f...
La nave elettrica più grande mai ...
Spusu lancia il Wi-Fi Calling: come funz...
Questo robot impara a muovere le labbra ...
iPhone 17 annienta la concorrenza in Cin...
La nuova Xiaomi SU7 batte un record: 4.2...
È possibile copiare i qubit: dei ...
BYD alza ulteriormente l'asticella: batt...
Il nuovo razzo spaziale riutilizzabile c...
L'ex leader di Assassin's Creed porta Ub...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 09:02.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v