Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Lenovo IdeaPad Slim 3: un notebook Snapdragon X economico
Lenovo IdeaPad Slim 3: un notebook Snapdragon X economico
Forte della piattaforma Qualcomm Snapdragon X, il notebook Lenovo IdeaPad Slim 3 riesce a coniugare caratteristiche tecniche interessanti ad uno chassis robusto, con autonomia di funzionamento a batteria che va ben oltre la tipica giornata di lavoro. Un notebook dal costo accessibile pensato per l'utilizzo domestico o in ufficio, soprattutto con applicazioni native per architettura ARM
Recensione OnePlus Watch 3 43mm: lo smartwatch che mancava per i polsi più piccoli
Recensione OnePlus Watch 3 43mm: lo smartwatch che mancava per i polsi più piccoli
OnePlus risponde alle esigenze di chi cerca un dispositivo indossabile dalle dimensioni contenute con OnePlus Watch 3 43mm. La versione ridotta del flagship mantiene gran parte delle caratteristiche del modello maggiore, offrendo un'esperienza completa in un formato compatto. Il suo limite più grande è abbastanza ovvio: l'autonomia non è il punto di forza di questo modello, ma si raggiungono comodamente le due giornate piene con un uso normale.
BOOX Note Air4 C è uno spettacolo: il tablet E Ink con Android per lettura e scrittura
BOOX Note Air4 C è uno spettacolo: il tablet E Ink con Android per lettura e scrittura
BOOX Note Air4 C rappresenta l'ultima incarnazione della categoria dei tablet E Ink a colori di Onyx, e combina le prestazioni di un dispositivo Android con l'ottima tecnologia Kaleido 3 per il display. Con schermo da 10,3 pollici, un processore Qualcomm Snapdragon 750G e 6 GB di RAM, promette un'esperienza completa per lettura, scrittura e produttività. Il prezzo lo posiziona nel segmento premium, ma questo dispositivo è un vero spettacolo!
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 28-09-2009, 10:00   #1
cagnaluia
Senior Member
 
L'Avatar di cagnaluia
 
Iscritto dal: Oct 2003
Città: TV
Messaggi: 10831
[JAVA] - comunicazione http - migliorare il buffer

Ciao,

un esercizio, che non so da dove cominciare...
Ho questo codice, avviato da un server http e fa certe semplici cose, cioè visualizzare una risorsa.. un file di testo o un immagine.
E' molto grossolano, prende tutta la risorsa e la spedisce al client (il browser).

Vorrei migliorarlo, nel senso che prenda piccole porzioni della risorsa richiesta e la trasferisca a pezzi più piccoli.

ma come?

Codice:
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package tinyhttpd;
import java.net.*;
import java.io.*;
import java.util.*;

/**
 *
 * @author autore
 */

class tinyhttpdconnection extends Thread
{
    Socket sock;
    tinyhttpdconnection (Socket s)
    {
        sock = s;
        setPriority(NORM_PRIORITY -1);
        start();
    }
    public void run()
    {
        try
        {
            OutputStream out = sock.getOutputStream();
            BufferedReader in=new BufferedReader(new
            InputStreamReader(sock.getInputStream()));
            String req = in.readLine();
            System.out.println( "Request: "+req );
            StringTokenizer st = new StringTokenizer( req );
            if ( (st.countTokens() >= 2) && st.nextToken().equals("GET") )
            {
                if ( (req = st.nextToken()).startsWith("/") ) req = req.substring( 1 );
                if ( req.endsWith("/") || req.equals("") ) req = req + "index.html";
                try
                {
                    FileInputStream fis = new FileInputStream ( req );
                    byte [] data = new byte [ fis.available() ];
                    fis.read( data );
                    out.write( data );
                } catch ( FileNotFoundException e )
                  {
                        new PrintStream( out ).println("404 Not Found");
                  }
            }
            else new PrintStream( out ).println( "400 Bad Request" );
            sock.close();
        }
        catch ( IOException e )
        {
            System.out.println( "I/O error " + e );
        }
    }
}
__________________
cagnaluia
MTB|DH|Running|Diving
Eos1DX|16-35f4Lis|35f1.4L|100f2|300F4LIS
cagnaluia è offline   Rispondi citando il messaggio o parte di esso
Old 30-09-2009, 17:23   #2
TellaspallaBob
Member
 
L'Avatar di TellaspallaBob
 
Iscritto dal: Nov 2002
Messaggi: 262
Intendi una cosa tipo questa??

Codice:
public void copyBuffer(InputStream iStream, OutputStream outStream, int bufferSize) throws IOException
	{
                // Allochi il buffer
		byte [] buffer = new byte[bufferSize];

                // Usata per capire quanti byte sono stati letti dallo stream
		int bytesRead = 0; 
		
                // Cicli fino alla fine dello stream
                // Come vedi nella var bytesRead ottieni il numero di byte letti dallo stream
		while( (bytesRead = iStream.read(buffer)) >0 )
		{
                        // Scrivi il buffer in base al numero di bytes letti
			outStream.write(buffer, 0, bytesRead);
                        
                        // Dopo le scritture fare un flush dello stream e' consigliato
			outStream.flush();
		}
	}
TellaspallaBob è offline   Rispondi citando il messaggio o parte di esso
Old 30-09-2009, 18:03   #3
cagnaluia
Senior Member
 
L'Avatar di cagnaluia
 
Iscritto dal: Oct 2003
Città: TV
Messaggi: 10831
si, perfetta.
__________________
cagnaluia
MTB|DH|Running|Diving
Eos1DX|16-35f4Lis|35f1.4L|100f2|300F4LIS
cagnaluia è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Lenovo IdeaPad Slim 3: un notebook Snapdragon X economico Lenovo IdeaPad Slim 3: un notebook Snapdragon X ...
Recensione OnePlus Watch 3 43mm: lo smartwatch che mancava per i polsi più piccoli Recensione OnePlus Watch 3 43mm: lo smartwatch c...
BOOX Note Air4 C è uno spettacolo: il tablet E Ink con Android per lettura e scrittura BOOX Note Air4 C è uno spettacolo: il tab...
Recensione Sony Xperia 1 VII: lo smartphone per gli appassionati di fotografia Recensione Sony Xperia 1 VII: lo smartphone per ...
Attenti a Poco F7: può essere il best buy del 2025. Recensione Attenti a Poco F7: può essere il best buy...
La sonda spaziale NASA New Horizons (che...
HONOR MagicPad 3: il tablet con Snapdrag...
Qualcomm mischia le carte: in arrivo ci ...
Meta sceglie Google per lo sviluppo dell...
Redmi Note 15 Pro+: batteria più piccola...
Amazon, un weekend di svendite lampo, ta...
Tutte le offerte sui portatili: tre tutt...
Macchie addio per sempre: SpotClean ProH...
Smartphone con batteria da 8.000 mAh? On...
Dreame L10s Ultra Gen 2 al minimo storic...
Apple TV+ ora costa di più: il ca...
Ecco i 2 mini PC migliori di Amazon: 369...
L'amministrazione Trump investe in Intel...
Google dice addio ai tablet? Le priorit&...
La NASA e IBM hanno annunciato il nuovo ...
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: 21:50.


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