Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria
Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria
vivo X300 Pro rappresenta un'evoluzione misurata della serie fotografica del produttore cinese, con un sistema di fotocamere migliorato, chipset Dimensity 9500 di ultima generazione e l'arrivo dell'interfaccia OriginOS 6 anche sui modelli internazionali. La scelta di limitare la batteria a 5.440mAh nel mercato europeo, rispetto ai 6.510mAh disponibili altrove, fa storcere un po' il naso
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2 è la nuova handheld PC gaming con processore AMD Ryzen Z2 Extreme (8 core Zen 5/5c, GPU RDNA 3.5 16 CU) e schermo OLED 8,8" 1920x1200 144Hz. È dotata anche di controller rimovibili TrueStrike con joystick Hall effect e una batteria da 74Wh. Rispetto al dispositivo che l'ha preceduta, migliora ergonomia e prestazioni a basse risoluzioni, ma pesa 920g e costa 1.299€ nella configurazione con 32GB RAM/1TB SSD e Z2 Extreme
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
A re:Invent 2025, AWS mostra un’evoluzione profonda della propria strategia: l’IA diventa una piattaforma di servizi sempre più pronta all’uso, con agenti e modelli preconfigurati che accelerano lo sviluppo, mentre il cloud resta la base imprescindibile per governare dati, complessità e lock-in in uno scenario sempre più orientato all’hybrid cloud
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 26-04-2007, 14: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, 14:28   #2
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
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, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 26-04-2007, 14: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 14:53.
thebol è offline   Rispondi citando il messaggio o parte di esso
Old 26-04-2007, 15: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


Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria Recensione vivo X300 Pro: è ancora lui il...
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'...
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti AWS re:Invent 2025: inizia l'era dell'AI-as-a-Se...
Cos'è la bolla dell'IA e perché se ne parla Cos'è la bolla dell'IA e perché se...
BOOX Palma 2 Pro in prova: l'e-reader diventa a colori, e davvero tascabile BOOX Palma 2 Pro in prova: l'e-reader diventa a ...
Il nuovo OnePlus Nord 6 è vicino al debu...
Tesla svela i risultati del Q4: conferma...
Nuova rimodulazione da Fastweb: fino a 3...
La NVIDIA RTX 5090 potrebbe presto costa...
ASUS non produrrà più smar...
CoopVoce sta per lanciare il 5G: ecco qu...
Factorial, azienda di batterie allo stat...
Le specifiche fuori di testa della Yangw...
I numeri incredibili di Xiaomi: nel 2025...
In Cina è pronto il parco fotovol...
Neuralink accelera: produzione di massa ...
Starlink abbassa l'orbita di migliaia di...
Dal MIT una nuova batteria per auto elet...
Adam Mosseri parla di IA su Instagram: l...
Suonerie personalizzate e Tone Store: il...
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: 19:33.


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