Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Peugeot Polygon Concept: ecco il futuro delle utilitarie
Peugeot Polygon Concept: ecco il futuro delle utilitarie
Polygon è la concept car di Peugeot che mostra il futuro delle soluzioni del segmento B: tra design compatti e innovativi affiancati da dimensioni compatte uno scherzo dalla manovrabilità incredibile per le manovre a bassa velocità
Reno16 Pro: il compatto di OPPO punta su fotocamera da 200MP e il nuovo Bubble! La recensione
Reno16 Pro: il compatto di OPPO punta su fotocamera da 200MP e il nuovo Bubble! La recensione
OPPO ha portato in Italia, dal 1° luglio 2026, Reno16 Pro: display AMOLED da 6,32 pollici a 144Hz, tripla fotocamera con sensore principale da 200 megapixel, chip Dimensity 8550 Super e batteria da 6000mAh, al prezzo di lancio di 899 euro. Lo abbiamo provato per due settimane insieme al nuovo accessorio Bubble, per capire se la formula compatta della serie regge ancora di fronte a un listino da 1099 euro
 Hisense 55U7SE: tuttofare e accessibile, il MiniLED per film, sport e gioco
Hisense 55U7SE: tuttofare e accessibile, il MiniLED per film, sport e gioco
MiniLED di fascia media con local dimming a 192 zone, 144 Hz nativi e audio firmato Devialet. La prova strumentale riscontra colori affidabili e gaming reattivo, per un prodotto molto accessibile e convincente. Ma la soundbar aggiuntiva è quasi d'obbligo
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 26-04-2007, 13:06   #1
socste
Member
 
Iscritto dal: Apr 2006
Città: Milano
Messaggi: 50
Limitare throughput socket in C/C++ o Java

Ciao!

Dovrei realizzare un programma in grado di limitare la "velocità" con cui invia i dati via socket tcp (stile sw di filesharing, dove è possibile indicare la velocità up/down max). C/C++ o Java è indifferente (per C/C++ intendo le classiche BSD-style).
Mi basta agire su qualche parametro? Non ho molto tempo, sapete se esiste qualcosa di già pronto?

ciao
- s -
socste è offline   Rispondi citando il messaggio o parte di esso
Old 26-04-2007, 13:28   #2
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Quote:
Originariamente inviato da socste Guarda i messaggi
Dovrei realizzare un programma in grado di limitare la "velocità" con cui invia i dati via socket tcp (stile sw di filesharing, dove è possibile indicare la velocità up/down max). C/C++ o Java è indifferente (per C/C++ intendo le classiche BSD-style).
Mi basta agire su qualche parametro? Non ho molto tempo, sapete se esiste qualcosa di già pronto?
Per qualcosa di già pronto non saprei cosa dirti ... dovresti fare una ricerca in rete.

Dal punto di vista concettuale non è difficilissimo: innanzitutto non puoi alterare la velocità di trasmissione dei pacchetti sul mezzo fisico di trasporto. Per esempio su una rete LAN a 100 Mbps, salvo congestioni o problemi vari, i pacchetti viaggiano appunto a 100 Mbps. E quello è.
Però puoi ritardare/rallentare l'invio dei pacchetti facendo in modo che nell'unità di tempo (1 secondo) vengano inviati solamente un tot di dati.
Come farlo tecnicamente non saprei dire perché non me ne sono mai occupato.
__________________
Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 26-04-2007, 13:50   #3
thebol
Senior Member
 
Iscritto dal: Dec 2000
Città: bologna
Messaggi: 1309
Quote:
Originariamente inviato da andbin Guarda i messaggi
Per qualcosa di già pronto non saprei cosa dirti ... dovresti fare una ricerca in rete.

Dal punto di vista concettuale non è difficilissimo: innanzitutto non puoi alterare la velocità di trasmissione dei pacchetti sul mezzo fisico di trasporto. Per esempio su una rete LAN a 100 Mbps, salvo congestioni o problemi vari, i pacchetti viaggiano appunto a 100 Mbps. E quello è.
Però puoi ritardare/rallentare l'invio dei pacchetti facendo in modo che nell'unità di tempo (1 secondo) vengano inviati solamente un tot di dati.
Come farlo tecnicamente non saprei dire perché non me ne sono mai occupato.
cosi a sentimento introdurrei un layer (oggetto) fra chi scrive il dato e il buffer di trasmissione tcp/udp. Questo strato controllerebbe quanto scrive sul buffer tcp/udp, e superata una certa soglia al sec, si bloccherebbe.

Per la temporizzazione, ti memorizzi il time-stamp dell'inizo del "secondo" in cui vuoi inviare i tuoi 3KB(per esempio).
Spedisci 3KB.
Controlli se è gia passato un secondo.
Se si, vai in sleep per il tempo rimanente.
Altrimenti rinnovi il time-stamp dell'inizio del tuo secondo(questo puoi farlo in varie maniere...) e continui a spedire finche non riscrivi 3KB.

Ultima modifica di thebol : 26-04-2007 alle 13:53.
thebol è offline   Rispondi citando il messaggio o parte di esso
Old 26-04-2007, 14:27   #4
socste
Member
 
Iscritto dal: Apr 2006
Città: Milano
Messaggi: 50
Grazie per i suggerimenti!

Si si la soluzione piu' diretta credo sia l'introduzione di un layer per incapsulare le socket base ed introdurre un conteggio dei kb inviabili per secondo (non si tratta di una sola connessione TCP, ma di un insieme di connessioni verso piu' macchine in rete).. ..e se il limite in velocità non fosse fissato a priori ma dinamico, in base alle reali capacità della macchina in rete? (non in LAN, ma su internet)

(beh, ovviamente se ho una connessione analogica 56k, arrivato a trasmettere a 56kbps, qualsiasi prog non andrebbe oltre e sarebbe limitato a 56Kbps! forse sto sbagliando qualcosa.. ..dovrei tenere conto che in realtà ho bisogno di trasmettere i dati quasi in realtime!)

buttare via i pacchetti "vecchi" non spediti? mmm.. e se passassi a qualche protocollo tipo RTP ?

Non so se è chiaro il mio problema, ma che ne pensate?
socste è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Peugeot Polygon Concept: ecco il futuro delle utilitarie Peugeot Polygon Concept: ecco il futuro delle ut...
Reno16 Pro: il compatto di OPPO punta su fotocamera da 200MP e il nuovo Bubble! La recensione Reno16 Pro: il compatto di OPPO punta su fotocam...
 Hisense 55U7SE: tuttofare e accessibile, il MiniLED per film, sport e gioco Hisense 55U7SE: tuttofare e accessibile, il Min...
Kindle Scribe Colorsoft: riduce le cornici e diventa a colori, ma il prezzo è alto Kindle Scribe Colorsoft: riduce le cornici e div...
L'IA cambia tutte le regole della sicurezza tra vulnerabilità e sorveglianza. Intervista al CEO di Proofpoint L'IA cambia tutte le regole della sicurezza tra ...
Alibaba pronta a vietare Claude Code ai ...
Sovranità sui dati: Cloud Firewal...
FiberCop porterà la fibra Gigabit...
Data center in Lombardia: 20 progetti sc...
Tutti i modi in cui la scommessa di Orac...
Kioxia e SanDisk sbandierano i numeri de...
iPhone 18 Pro potrebbe usare modem Qualc...
Basta 'AI slop': Godot vieta ufficialmen...
Un annuncio sponsorizzato su X diffonde ...
Data center in Italia: l’IA spinge la de...
Sam Altman afferma che l'IA 'rimodeller&...
Samsung Galaxy Glasses, un video trapela...
Data center orbitali; Musk promette l'IA...
Hasselblad e Capture One fanno pace: i R...
iPhone Air 1TB per la prima volta scende...
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: 15:18.


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