Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione HONOR Magic V6: spessore record e super batteria. È lui il fold da battere?
Recensione HONOR Magic V6: spessore record e super batteria. È lui il fold da battere?
HONOR Magic V6 è arrivato in Italia a 2.299,90 euro con una promessa precisa: unire 4 mm di spessore da aperto (8,75 mm chiuso nel modello White, 9 mm negli altri colori) a una batteria da 6.660 mAh, la più capiente mai vista su un pieghevole. Lo abbiamo usato per oltre una settimana in versione Red 16/512 GB per capire se lo Snapdragon 8 Elite Gen 5 tiene testa alla concorrenza anche fuori dai benchmark ufficiali
Redmi Pad 2 9.7: ampio display, economico e peso contenuto, ma qualche limite nelle prestazioni
Redmi Pad 2 9.7: ampio display, economico e peso contenuto, ma qualche limite nelle prestazioni
Redmi Pad 2 9.7 punta su un display ampio e fluido, una batteria capace di accompagnare l'uso quotidiano senza ansie da ricarica e un prezzo accessibile, a partire da 179,90 euro per la versione con 64 GB di storage. Lo Snapdragon 6s 4G Gen 2 e i 4 GB di RAM della configurazione più diffusa frenano però chi cerca reattività e multitasking spinto: ecco il bilancio dopo due settimane di prova diretta
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à
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 11-11-2003, 19:54   #1
SteR9
Senior Member
 
L'Avatar di SteR9
 
Iscritto dal: Jun 2002
Città: Milano
Messaggi: 959
server e client in Java...Help

allora ho questo server...

Codice:
import java.io.*;
import java.net.*;

public class server {
    public static void main(String args[]) {
        ServerSocket echoServer = null;
        String line;
        DataInputStream is;
        Socket clientSocket = null;
        PrintStream os = null;
        try {
           echoServer = new ServerSocket(9999);
        }
        catch (IOException e) {
           System.out.println(e);
        }

try {
           clientSocket = echoServer.accept();
           is = new DataInputStream(clientSocket.getInputStream());
           os = new PrintStream(clientSocket.getOutputStream());

           while (true) {

             line = is.readLine();
             System.out.print(line);
             os.println("c");
		 
           }

        }
catch (IOException e) {
           System.out.println(e);
        }
    }
}
e questo è il client
Codice:
import java.io.*;
import java.net.*;
import javax.swing.*;

public class client1 {
    public static void main(String[] args) {
        Socket smtpSocket = null;
        PrintStream os = null;
        DataInputStream is = null;
        String mess;

        try {
            smtpSocket = new Socket("localhost", 9999);
            os = new PrintStream(smtpSocket.getOutputStream());
            is = new DataInputStream(smtpSocket.getInputStream());
        } catch (UnknownHostException e) {
            System.err.println("Don't know about host: hostname");
        } catch (IOException e) {
            System.err.println("Couldn't get I/O for the connection to: hostname");
        }
if (smtpSocket != null && os != null && is != null) {
            try {
     os.println("ciao");
               String responseLine;
                while ((responseLine = is.readLine()) != null) {
                    System.out.println("Server: " + responseLine);
                    if (responseLine.indexOf("Ok") != -1) {
                      break;
                    }
                }

                os.close();
                is.close();
                smtpSocket.close();
            } catch (UnknownHostException e) {
                System.err.println("Trying to connect to unknown host: " + e);
            } catch (IOException e) {
                System.err.println("IOException:  " + e);
            }
        }
    }
}
il mio problema è che dal client a inviare al server riesco ma non riesco a ricevere dal client ciò che gli invia il server...come mai??cosa c'è che non va?
grazie
SteR9 è offline   Rispondi citando il messaggio o parte di esso
Old 12-11-2003, 09:34   #2
cn73
Senior Member
 
L'Avatar di cn73
 
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
Il codice mi pare corretto... Personalmente l'ho provato e funziona... che jdk usi?? Che Sistema Operativo?
cn73 è offline   Rispondi citando il messaggio o parte di esso
Old 12-11-2003, 13:31   #3
SteR9
Senior Member
 
L'Avatar di SteR9
 
Iscritto dal: Jun 2002
Città: Milano
Messaggi: 959
Quote:
Originariamente inviato da cn73
Il codice mi pare corretto... Personalmente l'ho provato e funziona... che jdk usi?? Che Sistema Operativo?
uso la 1.4.2_01....
infatti anche a me sembra corretto...
non è che c'è un bug in questa versione???dubito però...
SteR9 è offline   Rispondi citando il messaggio o parte di esso
Old 12-11-2003, 13:59   #4
Molz
Member
 
Iscritto dal: May 2003
Messaggi: 119
Lo ho compilato e mi funziona

Cmq con qella versione il metodo readLine() di java.io.DataInputStream è deprecato.

Prova a sostituirlo.

Nel tutorial delle API di Sun c'è scritto di sostituire

DataInputStream d = new DataInputStream(in);

con

BufferedReader d = new BufferedReader(new InputStreamReader(in));

Ultima modifica di Molz : 12-11-2003 alle 14:03.
Molz è offline   Rispondi citando il messaggio o parte di esso
Old 12-11-2003, 16:07   #5
cn73
Senior Member
 
L'Avatar di cn73
 
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
Ovviamente lanci il client e il server da due console separate giusto?
cn73 è offline   Rispondi citando il messaggio o parte di esso
Old 12-11-2003, 16:38   #6
SteR9
Senior Member
 
L'Avatar di SteR9
 
Iscritto dal: Jun 2002
Città: Milano
Messaggi: 959
Quote:
Originariamente inviato da Molz
Lo ho compilato e mi funziona

Cmq con qella versione il metodo readLine() di java.io.DataInputStream è deprecato.

Prova a sostituirlo.

Nel tutorial delle API di Sun c'è scritto di sostituire

DataInputStream d = new DataInputStream(in);

con

BufferedReader d = new BufferedReader(new InputStreamReader(in));
l'avevo lettoanche io questo ma non cambiava niente...cmq dal client se provo a connettermi ad un altro server mi legge ciò che mi manda il server...non va solo dal mio client...
SteR9 è offline   Rispondi citando il messaggio o parte di esso
Old 12-11-2003, 16:39   #7
SteR9
Senior Member
 
L'Avatar di SteR9
 
Iscritto dal: Jun 2002
Città: Milano
Messaggi: 959
Quote:
Originariamente inviato da cn73
Ovviamente lanci il client e il server da due console separate giusto?
si ovviamente uso due console diverse
SteR9 è offline   Rispondi citando il messaggio o parte di esso
Old 12-11-2003, 17:58   #8
cn73
Senior Member
 
L'Avatar di cn73
 
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
firewall??
cn73 è offline   Rispondi citando il messaggio o parte di esso
Old 12-11-2003, 18:11   #9
SteR9
Senior Member
 
L'Avatar di SteR9
 
Iscritto dal: Jun 2002
Città: Milano
Messaggi: 959
Quote:
Originariamente inviato da cn73
firewall??
no,non ho firewall
non riesco proprio a capire perchè non funziona ho riprovato ancora con BufferedReader ma non va...
SteR9 è offline   Rispondi citando il messaggio o parte di esso
Old 12-11-2003, 20:56   #10
cn73
Senior Member
 
L'Avatar di cn73
 
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
Non so, prova a cambiare porta! e mettere della System.out di debug x capire qual è il pezzo che nn esegue...
cn73 è offline   Rispondi citando il messaggio o parte di esso
Old 13-11-2003, 16:26   #11
SteR9
Senior Member
 
L'Avatar di SteR9
 
Iscritto dal: Jun 2002
Città: Milano
Messaggi: 959
Quote:
Originariamente inviato da cn73
Non so, prova a cambiare porta! e mettere della System.out di debug x capire qual è il pezzo che nn esegue...
niente non va nemmeno cambiando la porta...che System.out potrei mettere?
SteR9 è offline   Rispondi citando il messaggio o parte di esso
Old 13-11-2003, 16:43   #12
cn73
Senior Member
 
L'Avatar di cn73
 
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
Una cosa del genere:

Codice:
import java.io.*;
import java.net.*;
import javax.swing.*;

public class MyClient {
    public static void main(String[] args) {
        Socket smtpSocket = null;
        PrintStream os = null;
        DataInputStream is = null;
        String mess;

        try {
            smtpSocket = new Socket("xxxx", 10000);
            os = new PrintStream(smtpSocket.getOutputStream());
            is = new DataInputStream(smtpSocket.getInputStream());
        } catch (UnknownHostException e) {
            System.err.println("Don't know about host: hostname");
        } catch (IOException e) {
            System.err.println("Couldn't get I/O for the connection to: hostname");
        }
			if (smtpSocket != null && os != null && is != null) {
            try {
     						os.println("Messaggio al server: mi sono collegato!");
               	String responseLine;
                while ((responseLine = is.readLine()) != null) {
                    System.out.println("Server: " + responseLine);
                    if (responseLine.indexOf("Ok") != -1) {
                      break;
                    }
                }

                os.close();
                is.close();
                smtpSocket.close();
            } catch (UnknownHostException e) {
                System.err.println("Trying to connect to unknown host: " + e);
            } catch (IOException e) {
                System.err.println("IOException:  " + e);
            }
        }
    }
}
e poi

Codice:
import java.io.*;
import java.net.*;

public class MyServer {
    
    public static void main(String args[]) {
        
        ServerSocket echoServer = null;
        String line;
        DataInputStream is;
        Socket clientSocket = null;
        PrintStream os = null;
        try {
           echoServer = new ServerSocket(9999);
           System.out.println("Creato il ServerSocket: " + echoServer);
        }
        catch (IOException e) {
           System.out.println(e);
        }

				try {
           clientSocket = echoServer.accept();
           System.out.println("Creato il ClientSocket: " + clientSocket);
           is = new DataInputStream(clientSocket.getInputStream());
           os = new PrintStream(clientSocket.getOutputStream());

           while (true) {

             line = is.readLine();
             System.out.print(line);
             os.println("Benvenuto client " + clientSocket);
		 
           }

        }
				catch (IOException e) {
           System.out.println(e);
        }
    }
}
Riporta esattamente quanto viene scritto in console!
cn73 è offline   Rispondi citando il messaggio o parte di esso
Old 13-11-2003, 18:39   #13
SteR9
Senior Member
 
L'Avatar di SteR9
 
Iscritto dal: Jun 2002
Città: Milano
Messaggi: 959
questo è il client Server: Benvenuto client Socket[addr=/indirizzoIp,port=1365,localport=9999]
e questo il server
Creato il ServerSocket: ServerSocket[addr=0.0.0.0/0.0.0.0,port=0,localport=9999]

Creato il ClientSocket: Socket[addr=/indirizzoIp,port=1365,localport=9999]
Messaggio al server: mi sono collegato!
quindi sembrerebbe funzionare!
perchè il mio non andava?!
SteR9 è offline   Rispondi citando il messaggio o parte di esso
Old 13-11-2003, 20:01   #14
cn73
Senior Member
 
L'Avatar di cn73
 
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
Veramente io ho copiato ed incollato il tuo aggiungendo delle System.out
cn73 è offline   Rispondi citando il messaggio o parte di esso
Old 13-11-2003, 20:20   #15
SteR9
Senior Member
 
L'Avatar di SteR9
 
Iscritto dal: Jun 2002
Città: Milano
Messaggi: 959
Quote:
Originariamente inviato da cn73
Veramente io ho copiato ed incollato il tuo aggiungendo delle System.out
mah....è un mistero
vabbè tutto è bene ciò che finisce bene
grazie!
SteR9 è offline   Rispondi citando il messaggio o parte di esso
Old 14-11-2003, 17:53   #16
SteR9
Senior Member
 
L'Avatar di SteR9
 
Iscritto dal: Jun 2002
Città: Milano
Messaggi: 959
due domande
allora ho provato a fare una cosa così
line = is.readLine();
if (line == "ciao"){
System.out.print(line);
os.println("ciao client ");
}

però nn funziona...come mai?non posso fare il confronto fra stringhe in questa maniera??

un'altra cosa...come mai se io vado a inviare con os.println quando lo stampo dal server nn va a capo??
grazie
SteR9 è offline   Rispondi citando il messaggio o parte di esso
Old 18-11-2003, 22:33   #17
SteR9
Senior Member
 
L'Avatar di SteR9
 
Iscritto dal: Jun 2002
Città: Milano
Messaggi: 959
UP
SteR9 è offline   Rispondi citando il messaggio o parte di esso
Old 18-11-2003, 23:18   #18
recoil
Senior Member
 
L'Avatar di recoil
 
Iscritto dal: Jul 2002
Città: Milano
Messaggi: 19149
Quote:
Originariamente inviato da SteR9
due domande
allora ho provato a fare una cosa così
line = is.readLine();
if (line == "ciao"){
System.out.print(line);
os.println("ciao client ");
}

però nn funziona...come mai?non posso fare il confronto fra stringhe in questa maniera??

un'altra cosa...come mai se io vado a inviare con os.println quando lo stampo dal server nn va a capo??
grazie
la stringa non è un tipo di dato primitivo quindi non puoi fare il confronto con == ma devi usare dei metodi. la classe String ne ha uno che si chiama equals

s.equals("ciao") restituisce true se la variabile s è "ciao" e false negli altri casi
recoil è offline   Rispondi citando il messaggio o parte di esso
Old 19-11-2003, 10:51   #19
cn73
Senior Member
 
L'Avatar di cn73
 
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
Scusa non mi connettevo da un po'! La soluzione ti è stata già postata... Il tuo è un errore comune, non preoccuparti
La classe String offre numerosi metodi, dai un occhio alla documentazione (se l'avessi fatto non avresti postato questa domanda )

Approfitto per spiegarti perchè non funziona il confronto con ==.

String mia_stringa = "Marco".

quando fai questa dichiarazione viene allocata una zona di memoria con un certo indirizzo, puntata da mia_stringa. Praticamente mia:stringa è una variabile che contiene un valore numerico che indica la zona di memoria che contiene "Marco".

Se tu fai il cofronto mia_stringa == "Marco" ti darà quindi sempre false!

Lo stesso se dichiari

String mia_stringa2 = "Marco" e poi fai il confronto

mia_stringa2 == mia_stringa

diverso se tu dichiari:

String mia_stringa2 = mia_stringa.

Questo perchè assegni al puntatore mia_stringa2 lo stesso calore che contiene mia_stringa e punteranno alla stessa zona di memoria.
cn73 è offline   Rispondi citando il messaggio o parte di esso
Old 19-11-2003, 17:01   #20
SteR9
Senior Member
 
L'Avatar di SteR9
 
Iscritto dal: Jun 2002
Città: Milano
Messaggi: 959
avevo già provato con equals...ma nn va...

Codice:
while (true) {
             line = is.readLine();
             if ( line.equals("ciao") == true){
               System.out.print(line);
               os.println("Benvenuto client " + clientSocket);
             }
}
ho provato sia con = che == ma nn va...con == compila ma non va mentre con = mida errore in compilazione...
dove sbaglio??
SteR9 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione HONOR Magic V6: spessore record e super batteria. È lui il fold da battere? Recensione HONOR Magic V6: spessore record e sup...
Redmi Pad 2 9.7: ampio display, economico e peso contenuto, ma qualche limite nelle prestazioni Redmi Pad 2 9.7: ampio display, economico e peso...
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...
Il presidente di Sony ha venduto il 56,5...
Nuova vulnerabilità per il kernel...
Fallout Stagione 2: 10 le nomination agl...
IQM porterà il quantum computer L...
2 MB di memoria RAM sono sufficienti per...
Incendio a Bovisa: cosa succede quando u...
AMD lancia 11 nuovi processori tra Ryzen...
IBM tra IA, sovranità digitale e ...
Blocco dei social sotto i 14 anni. A chi...
Nothing Ear (3a): la recensione delle cu...
DENZA BAO 5, il primo SUV del marchio BY...
Addio cavi in auto: Ottocast a IFA con C...
HONOR "Summer Essentials": l'e...
IBM fa la cura dimagrante ai mainframe z...
DENZA Z, la supercar con 3 motori elettr...
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: 00:12.


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