View Single Post
Old 23-03-2011, 14:04   #2
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Il codice è ok. Forse per quello che devi fare tu basta un che di più minimale:

Codice:
package sockets;

import java.io.PrintStream;
import java.net.Socket;
import java.util.Scanner;

public class Main {

    public static void main(String[] args) throws Throwable {
        Socket socket = null;
        try {//questo serve perchè se dopo aver aperto il socket qualcosa va a
             //schifìo bisogna comunque chiudere la connessione
            
            socket = new Socket("mio.server.it", 1234);

            PrintStream out = new PrintStream(socket.getOutputStream());//out scrive
            Scanner in = new Scanner(socket.getInputStream());//in legge

            out.print("user IZ6SZA pass 11111 vers testsoftware");
            out.flush();

            String risposta = in.nextLine();

        } finally {//qui ci entriamo anche se prima è passato godzilla
            if(socket != null) socket.close();
        }
    }
}
Poi bisogna vedere chi è che riceve. Ad esempio alcuni protocolli richiedono che le stringhe sia terminate da interruzioni di linea, a volte doppie. A quel punto non basta dire:

out.print("pippo")

ma bisogna dire:

out.print("pippo\r\n");//interruzione singola

oppure

out.print("pippo\r\n\r\n");//interruzione doppia.

Dipende dal protocollo del servizio a cui vuoi accedere.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso