Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    28

    Problema compilazione socket java

    Salve a tutti,

    non riesco a capire perchè eseguendo questi due programmi con Eclipse:

    Server

    codice:
    import java.io.*; import java.net.*; public class TCPServer { /* * Ricopio la classe esempio sulle slide di Reti di Calcolatori (Socket TCP, server) * */ public static void main(String[] args) throws Exception{ // TODO Auto-generated method stub String clientSentence; String capitalizedSentence; ServerSocket welcomeSocket = new ServerSocket(6789); while(true){ Socket connectionSocket= welcomeSocket.accept(); BufferedReader inFromClient=new BufferedReader(new InputStreamReader(connectionSocket.getInputStream())); DataOutputStream outToClient =new DataOutputStream(connectionSocket.getOutputStream()); clientSentence= inFromClient.readLine(); capitalizedSentence= clientSentence.toUpperCase()+'\n'; outToClient.writeBytes(capitalizedSentence); connectionSocket.close(); } } }
    Client

    codice:
    import java.io.*; import java.net.*; public class TCPClient { public static void main(String argv[])throws Exception { // TODO Auto-generated method stub String sentence; String modifiedSentence; BufferedReader inFromUser= new BufferedReader(new InputStreamReader((System.in))); Socket clientSocket =new Socket("hostname", 6789); DataOutputStream outToServer=new DataOutputStream(clientSocket.getOutputStream()); BufferedReader inFromServer = new BufferedReader(new InputStreamReader(clientSocket.getInputStream())); sentence = inFromUser.readLine(); outToServer.writeBytes(sentence + '\n'); modifiedSentence= inFromServer.readLine(); System.out.println("FROM SERVER: " + modifiedSentence ); clientSocket.close(); } }

    mi vengono dati i seguenti errori:

    per il server

    Exception in thread "main" java.net.BindException: Address already in use: JVM_Bind
    at java.net.PlainSocketImpl.socketBind(Native Method)
    at java.net.PlainSocketImpl.bind(Unknown Source)
    at java.net.ServerSocket.bind(Unknown Source)
    at java.net.ServerSocket.<init>(Unknown Source)
    at java.net.ServerSocket.<init>(Unknown Source)
    at TCPServer.main(TCPServer.java:16)

    per il client

    Exception in thread "main" java.net.UnknownHostException: hostname
    at java.net.PlainSocketImpl.connect(Unknown Source)
    at java.net.SocksSocketImpl.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at java.net.Socket.<init>(Unknown Source)
    at java.net.Socket.<init>(Unknown Source)
    at TCPClient.main(TCPClient.java:14)

    Chi può aiutarmi, per favore? Ringrazio in anticipo chi risponderà

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    28
    Potrebbe essere un problema legato alla configurazione sbagliata di eclipse per lo sviluppo di applicazioni client sever?

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    28
    Nessuno mi sa rispondere?

  4. #4
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802

    Re: Problema compilazione socket java

    Originariamente inviato da isal
    Salve a tutti,

    non riesco a capire perchè eseguendo questi due programmi con Eclipse:

    Server

    codice:
    import java.io.*; import java.net.*; public class TCPServer { /* * Ricopio la classe esempio sulle slide di Reti di Calcolatori (Socket TCP, server) * */ public static void main(String[] args) throws Exception{ // TODO Auto-generated method stub String clientSentence; String capitalizedSentence; ServerSocket welcomeSocket = new ServerSocket(6789); while(true){ Socket connectionSocket= welcomeSocket.accept(); BufferedReader inFromClient=new BufferedReader(new InputStreamReader(connectionSocket.getInputStream())); DataOutputStream outToClient =new DataOutputStream(connectionSocket.getOutputStream()); clientSentence= inFromClient.readLine(); capitalizedSentence= clientSentence.toUpperCase()+'\n'; outToClient.writeBytes(capitalizedSentence); connectionSocket.close(); } } }
    Client

    codice:
    import java.io.*; import java.net.*; public class TCPClient { public static void main(String argv[])throws Exception { // TODO Auto-generated method stub String sentence; String modifiedSentence; BufferedReader inFromUser= new BufferedReader(new InputStreamReader((System.in))); Socket clientSocket =new Socket("hostname", 6789); DataOutputStream outToServer=new DataOutputStream(clientSocket.getOutputStream()); BufferedReader inFromServer = new BufferedReader(new InputStreamReader(clientSocket.getInputStream())); sentence = inFromUser.readLine(); outToServer.writeBytes(sentence + '\n'); modifiedSentence= inFromServer.readLine(); System.out.println("FROM SERVER: " + modifiedSentence ); clientSocket.close(); } }

    mi vengono dati i seguenti errori:

    per il server

    Exception in thread "main" java.net.BindException: Address already in use: JVM_Bind
    at java.net.PlainSocketImpl.socketBind(Native Method)
    at java.net.PlainSocketImpl.bind(Unknown Source)
    at java.net.ServerSocket.bind(Unknown Source)
    at java.net.ServerSocket.<init>(Unknown Source)
    at java.net.ServerSocket.<init>(Unknown Source)
    at TCPServer.main(TCPServer.java:16)

    per il client

    Exception in thread "main" java.net.UnknownHostException: hostname
    at java.net.PlainSocketImpl.connect(Unknown Source)
    at java.net.SocksSocketImpl.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at java.net.Socket.<init>(Unknown Source)
    at java.net.Socket.<init>(Unknown Source)
    at TCPClient.main(TCPClient.java:14)

    Chi può aiutarmi, per favore? Ringrazio in anticipo chi risponderà
    Per quel che riguarda il server sembra che tu lo abbia avviato più volte. La prima volta va a buon fine, le volte successive da problemi perché la nuova istanza trova la porta occupata.

    Nel caso del client, "hostname" come nome dell'host non va bene, probabilmente è stato messo solo come segnaposto. Se sei in locale dovresti risolvere usando localhost

    ps: la prossima volta scrivi il tag CODE a mano, usando il pulsantino il codice viene spappolato su un'unica riga
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.